Hall C ROOT/C++ Analyzer (hcana)
|
Analyze a package of horizontal drift chambers.
Uses the first letter of the apparatus name as a prefix to parameter names. The paramters, read in the Setup method, determine the number of chambers and the number of parameters per plane.
Public Member Functions | |
virtual Int_t | ApplyCorrections (void) |
virtual Int_t | CoarseTrack (TClonesArray &tracks) |
virtual Int_t | Decode (const THaEvData &) |
virtual Int_t | End (THaRunBase *run=0) |
virtual Int_t | FineTrack (TClonesArray &tracks) |
Double_t | GetAlphaAngle (Int_t plane) const |
Double_t | GetBetaAngle (Int_t plane) const |
Double_t | GetCenter (Int_t plane) const |
Double_t | GetCentralTime (Int_t plane) const |
Double_t | GetCentralWire (Int_t plane) const |
Int_t | GetDriftTimeSign (Int_t plane) const |
Int_t | GetFixPropagationCorrectionFlag () const |
Double_t | GetGammaAngle (Int_t plane) const |
Int_t | GetMaxHits (Int_t chamber) const |
Int_t | GetMinCombos (Int_t chamber) const |
Int_t | GetMinHits (Int_t chamber) const |
Int_t | GetNChamber (Int_t plane) const |
Double_t | GetNSperChan () const |
Int_t | GetNWires (Int_t plane) const |
Double_t | GetPitch (Int_t plane) const |
Double_t | GetPlaneTimeZero (Int_t plane) const |
Int_t | GetReadoutLR (Int_t plane) const |
Int_t | GetReadoutTB (Int_t plane) const |
Double_t | GetSigma (Int_t plane) const |
Double_t | GetSpacePointCriterion (Int_t chamber) const |
Int_t | GetTdcWinMax (Int_t plane) const |
Int_t | GetTdcWinMin (Int_t plane) const |
Int_t | GetVersion () const |
Int_t | GetWireOrder (Int_t plane) const |
Double_t | GetXPos (Int_t plane) const |
Double_t | GetYPos (Int_t plane) const |
Double_t | GetZPos (Int_t plane) const |
virtual EStatus | Init (const TDatime &run_time) |
void | SetFocalPlaneBestTrack (Int_t golden_track_index) |
THcDC (const char *name, const char *description="", THaApparatus *a=NULL) | |
THcDC () | |
virtual | ~THcDC () |
Public Member Functions inherited from THcHitList | |
void | CreateMissReportParms (const char *prefix) |
virtual Int_t | DecodeToHitList (const THaEvData &evdata, Bool_t suppress=kFALSE) |
Populate the hitlist from the raw event data. More... | |
void | DisableSlipCorrection () |
TClonesArray * | GetHitList () const |
void | InitHitList (THaDetMap *detmap, const char *hitclass, Int_t maxhits, Int_t tdcref_cut=0, Int_t adcref_cut=0) |
Save the electronics module to detector mapping and initialize a hit array of hits of class hitclass. More... | |
void | MissReport (const char *name) |
THcHitList () | |
virtual | ~THcHitList () |
Protected Member Functions | |
void | ClearEvent () |
virtual Int_t | DefineVariables (EMode mode=kDefine) |
void | DeleteArrays () |
Double_t | DpsiFun (Double_t ray[4], Int_t plane) |
void | Eff () |
void | EfficiencyPerWire (Int_t golden_track_index) |
void | EffInit () |
void | FitLineToTrack (Int_t TrackHits, Double_t coords[], Int_t planes[], Double_t wiresigma[], Double_t TrackCoord[], Double_t save_ray[]) |
void | LinkStubs () |
void | NewLinkStubs () |
void | NewTrackFit (UInt_t TrackIndex) |
void | PrintSpacePoints () |
void | PrintStubs () |
void | PrintTrack () |
virtual Int_t | ReadDatabase (const TDatime &date) |
void | Setup (const char *name, const char *description) |
void | TrackFit () |
Protected Member Functions inherited from THcHitList | |
ClassDef (THcHitList, 0) | |
Static Protected Attributes | |
static const UInt_t | MAXTRACKS = 100 |
Additional Inherited Members | |
Public Attributes inherited from THcHitList | |
Bool_t | fADC_RefTimeBest |
Int_t | fADC_RefTimeCut |
THaDetMap * | fdMap |
Int_t | fNMaxRawHits |
UInt_t | fNRawHits |
TClass * | fRawHitClass |
TClonesArray * | fRawHitList |
Bool_t | fTDC_RefTimeBest |
Int_t | fTDC_RefTimeCut |
#include <THcDC.h>
THcDC::THcDC | ( | const char * | name, |
const char * | description = "" , |
||
THaApparatus * | a = NULL |
||
) |
|
virtual |
Find a set of tracks through the drift chambers and put them into the tracks TClonesArray. Tracks are in the detector coordinate system.
|
protectedvirtual |
this function calculates the psi coordinate of the intersection of a ray (defined by ray) with a hms wire chamber plane. the geometry of the plane is contained in the coeff array calculated in the array hplane_coeff Note it is call by MINUIT via H_FCNCHISQ and so uses double precision variables
the ray is defined by x = (z-zt)*tan(xp) + xt y = (z-zt)*tan(yp) + yt at some fixed value of zt* ray(1) = xt ray(2) = yt ray(3) = tan(xp) ray(4) = tan(yp)
|
protected |
|
protected |
|
virtual |
|
inline |
|
virtual |
|
protected |
The logic is 0) Put all space points in a single list 1) loop over all space points as seeds isp1 2) Check if this space point is all ready in a track 3) loop over all succeeding space pointss isp2 4) check if there is a track-criterion match either add to existing track or if there is another point in same chamber make a copy containing isp2 rather than other point in same chamber 5) If hsingle_stub is set, make a track of all single stubs.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |