Hall C ROOT/C++ Analyzer (hcana)
THcDC Class Reference

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.

Author
S. A. Wood, based on Fortran ENGINE

Definition at line 23 of file THcDC.h.

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 ()
 
TClonesArrayGetHitList () 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)
 

Protected Attributes

Double_tfAlphaAngle
 
Double_tfBetaAngle
 
Double_tfCentralTime
 
Double_tfCentralWire
 
std::vector< THcDriftChamber * > fChambers
 
Double_t fChisq_best
 
TClonesArrayfDCTracks
 
Int_t fdebugflagpr
 
Int_t fdebugflagstubs
 
Int_t fdebuglinkstubs
 
Int_t fdebugprintdecodeddc
 
Int_t fdebugprintrawdc
 
Int_t fdebugtrackprint
 
Double_tfDist_best
 
Int_tfDriftTimeSign
 
Int_t fFixLR
 
Int_t fFixPropagationCorrection
 
Double_tfGammaAngle
 
Int_t fHMSStyleChambers
 
Bool_t fInSideDipoleExit_best
 
Double_tfLR_best
 
Int_tfMaxHits
 
Int_tfMinCombos
 
Int_tfMinHits
 
Int_t fN_True_RawHits
 
Int_tfNChamber
 
UInt_t fNChambers
 
Int_tfNChamHits
 
UInt_t fNDCTracks
 
Int_t fNhits
 
Int_t fNPlanes
 
Int_t fNSp
 
Int_t fNsp_best
 
Double_t fNSperChan
 
Int_t fNthits
 
Int_t fNTracksMaxFP
 
Int_tfNWires
 
Double_tfPitch
 
Double_t ** fPlaneCoeffs
 
Int_tfPlaneEvents
 
char ** fPlaneNames
 
std::vector< THcDriftChamberPlane * > fPlanes
 
Double_tfPlaneTimeZero
 
Double_tfPos_best
 
char fPrefix [2]
 
Bool_tfPresentP
 
Int_t fProjectToChamber
 
Int_tfReadoutLR
 
Int_tfReadoutTB
 
Double_tfResiduals
 
Double_tfResidualsExclPlane
 
Double_tfSigma
 
Int_t fSingleStub
 
Int_t fSp1_ID_best
 
Int_t fSp2_ID_best
 
Double_tfSpace_Point_Criterion
 
Int_t fStubTest
 
Int_t fTDC_RefTimeCut
 
Int_tfTdcWinMax
 
Int_tfTdcWinMin
 
Int_t fTotEvents
 
Double_t fTrackLargeResidCut
 
TClonesArrayfTrackProj
 
Int_t fUseNewFindSpacePoints
 
Int_t fUseNewLinkStubs
 
Int_t fUseNewTrackFit
 
Int_t fVersion
 
Double_tfWire_hit_did
 
Double_tfWire_hit_should
 
Int_tfWireOrder
 
Double_t fWireVelocity
 
Double_t fX_fp_best
 
Double_tfXCenter
 
Double_t fXp_fp_best
 
Double_tfXPos
 
Double_t fXptTrCriterion
 
Double_t fXtTrCriterion
 
Double_t fY_fp_best
 
Double_tfYCenter
 
Double_t fYp_fp_best
 
Double_tfYPos
 
Double_t fYptTrCriterion
 
Double_t fYtTrCriterion
 
Double_tfZPos
 
- Protected Attributes inherited from THcHitList
Double_t fDisableSlipCorrection
 
std::map< Int_t, Decoder::Fadc250Module * > fFADCSlotMap
 
Bool_t fHaveFADCInfo
 
Decoder::THaCrateMapfMap
 
Int_t fNADCRef_miss
 
Int_t fNPED
 
Int_t fNRefIndex
 
Int_t fNSA
 
Int_t fNSB
 
UInt_t fNSignals
 
Int_t fNTDCRef_miss
 
THcConfigEvtHandlerfPSE125
 
std::vector< RefIndexMapfRefIndexMaps
 
THcRawHit::ESignalTypefSignalTypes
 
Int_t fTICrate
 
Int_t fTISlot
 
std::map< Int_t, Int_tfTrigTimeShiftMap
 

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
 
TClassfRawHitClass
 
TClonesArrayfRawHitList
 
Bool_t fTDC_RefTimeBest
 
Int_t fTDC_RefTimeCut
 

#include <THcDC.h>

Inheritance diagram for THcDC:

Constructor & Destructor Documentation

THcDC::THcDC ( const char *  name,
const char *  description = "",
THaApparatus *  a = NULL 
)

Definition at line 40 of file THcDC.cxx.

THcDC::~THcDC ( )
virtual

Definition at line 449 of file THcDC.cxx.

THcDC::THcDC ( )

Definition at line 189 of file THcDC.cxx.

Member Function Documentation

Int_t THcDC::ApplyCorrections ( void  )
virtual

Definition at line 603 of file THcDC.cxx.

void THcDC::ClearEvent ( )
inlineprotected

Definition at line 521 of file THcDC.cxx.

Int_t THcDC::CoarseTrack ( TClonesArray tracks)
virtual

Find a set of tracks through the drift chambers and put them into the tracks TClonesArray. Tracks are in the detector coordinate system.

Definition at line 609 of file THcDC.cxx.

Int_t THcDC::Decode ( const THaEvData evdata)
virtual

Decode event into hit list. Pass hit list to the planes. Load hits from planes into chamber objects

Definition at line 554 of file THcDC.cxx.

Int_t THcDC::DefineVariables ( EMode  mode = kDefine)
protectedvirtual

Initialize global variables for histograms and Root tree

Definition at line 399 of file THcDC.cxx.

void THcDC::DeleteArrays ( )
protected

Definition at line 469 of file THcDC.cxx.

Double_t THcDC::DpsiFun ( Double_t  ray[4],
Int_t  plane 
)
protected

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)

Definition at line 1572 of file THcDC.cxx.

void THcDC::Eff ( )
protected

Accumulate statistics for efficiency calculations

Definition at line 1645 of file THcDC.cxx.

void THcDC::EfficiencyPerWire ( Int_t  golden_track_index)
protected

Definition at line 727 of file THcDC.cxx.

void THcDC::EffInit ( )
protected

Create, and initialize counters used to calculate efficiencies. Register the counters in gHcParms so that the variables can be used in end of run reports.

Definition at line 1621 of file THcDC.cxx.

Int_t THcDC::End ( THaRunBase *  run = 0)
virtual

Definition at line 1613 of file THcDC.cxx.

Int_t THcDC::FineTrack ( TClonesArray tracks)
virtual

Definition at line 697 of file THcDC.cxx.

void THcDC::FitLineToTrack ( Int_t  TrackHits,
Double_t  coords[],
Int_t  planes[],
Double_t  wiresigma[],
Double_t  TrackCoord[],
Double_t  save_ray[] 
)
protected

Definition at line 1073 of file THcDC.cxx.

Double_t THcDC::GetAlphaAngle ( Int_t  plane) const
inline

Definition at line 55 of file THcDC.h.

Double_t THcDC::GetBetaAngle ( Int_t  plane) const
inline

Definition at line 56 of file THcDC.h.

Double_t THcDC::GetCenter ( Int_t  plane) const
inline

Definition at line 76 of file THcDC.h.

Double_t THcDC::GetCentralTime ( Int_t  plane) const
inline

Definition at line 63 of file THcDC.h.

Double_t THcDC::GetCentralWire ( Int_t  plane) const
inline

Definition at line 48 of file THcDC.h.

Int_t THcDC::GetDriftTimeSign ( Int_t  plane) const
inline

Definition at line 64 of file THcDC.h.

Int_t THcDC::GetFixPropagationCorrectionFlag ( ) const
inline

Definition at line 72 of file THcDC.h.

Double_t THcDC::GetGammaAngle ( Int_t  plane) const
inline

Definition at line 57 of file THcDC.h.

Int_t THcDC::GetMaxHits ( Int_t  chamber) const
inline

Definition at line 60 of file THcDC.h.

Int_t THcDC::GetMinCombos ( Int_t  chamber) const
inline

Definition at line 61 of file THcDC.h.

Int_t THcDC::GetMinHits ( Int_t  chamber) const
inline

Definition at line 59 of file THcDC.h.

Int_t THcDC::GetNChamber ( Int_t  plane) const
inline

Definition at line 45 of file THcDC.h.

Double_t THcDC::GetNSperChan ( ) const
inline

Definition at line 74 of file THcDC.h.

Int_t THcDC::GetNWires ( Int_t  plane) const
inline

Definition at line 44 of file THcDC.h.

Double_t THcDC::GetPitch ( Int_t  plane) const
inline

Definition at line 47 of file THcDC.h.

Double_t THcDC::GetPlaneTimeZero ( Int_t  plane) const
inline

Definition at line 70 of file THcDC.h.

Int_t THcDC::GetReadoutLR ( Int_t  plane) const
inline

Definition at line 65 of file THcDC.h.

Int_t THcDC::GetReadoutTB ( Int_t  plane) const
inline

Definition at line 66 of file THcDC.h.

Double_t THcDC::GetSigma ( Int_t  plane) const
inline

Definition at line 71 of file THcDC.h.

Double_t THcDC::GetSpacePointCriterion ( Int_t  chamber) const
inline

Definition at line 62 of file THcDC.h.

Int_t THcDC::GetTdcWinMax ( Int_t  plane) const
inline

Definition at line 50 of file THcDC.h.

Int_t THcDC::GetTdcWinMin ( Int_t  plane) const
inline

Definition at line 49 of file THcDC.h.

Int_t THcDC::GetVersion ( ) const
inline

Definition at line 67 of file THcDC.h.

Int_t THcDC::GetWireOrder ( Int_t  plane) const
inline

Definition at line 46 of file THcDC.h.

Double_t THcDC::GetXPos ( Int_t  plane) const
inline

Definition at line 52 of file THcDC.h.

Double_t THcDC::GetYPos ( Int_t  plane) const
inline

Definition at line 53 of file THcDC.h.

Double_t THcDC::GetZPos ( Int_t  plane) const
inline

Definition at line 54 of file THcDC.h.

THaAnalysisObject::EStatus THcDC::Init ( const TDatime run_time)
virtual

Definition at line 196 of file THcDC.cxx.

void THcDC::LinkStubs ( )
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.

Definition at line 861 of file THcDC.cxx.

void THcDC::NewLinkStubs ( )
protected

Definition at line 780 of file THcDC.cxx.

void THcDC::NewTrackFit ( UInt_t  TrackIndex)
protected

Definition at line 1113 of file THcDC.cxx.

void THcDC::PrintSpacePoints ( )
protected

Definition at line 746 of file THcDC.cxx.

void THcDC::PrintStubs ( )
protected

Definition at line 765 of file THcDC.cxx.

void THcDC::PrintTrack ( )
protected

Definition at line 1536 of file THcDC.cxx.

Int_t THcDC::ReadDatabase ( const TDatime date)
protectedvirtual

Read this detector's parameters from the ThcParmList This function is called by THaDetectorBase::Init() once at the beginning of the analysis.

Definition at line 270 of file THcDC.cxx.

void THcDC::SetFocalPlaneBestTrack ( Int_t  golden_track_index)

Definition at line 702 of file THcDC.cxx.

void THcDC::Setup ( const char *  name,
const char *  description 
)
protected

Definition at line 93 of file THcDC.cxx.

void THcDC::TrackFit ( )
protected

Primary track fitting routine

Definition at line 1243 of file THcDC.cxx.

Member Data Documentation

Double_t* THcDC::fAlphaAngle
protected

Definition at line 170 of file THcDC.h.

Double_t* THcDC::fBetaAngle
protected

Definition at line 171 of file THcDC.h.

Double_t* THcDC::fCentralTime
protected

Definition at line 158 of file THcDC.h.

Double_t* THcDC::fCentralWire
protected

Definition at line 174 of file THcDC.h.

std::vector<THcDriftChamber*> THcDC::fChambers
protected

Definition at line 203 of file THcDC.h.

Double_t THcDC::fChisq_best
protected

Definition at line 183 of file THcDC.h.

TClonesArray* THcDC::fDCTracks
protected

Definition at line 100 of file THcDC.h.

Int_t THcDC::fdebugflagpr
protected

Definition at line 91 of file THcDC.h.

Int_t THcDC::fdebugflagstubs
protected

Definition at line 92 of file THcDC.h.

Int_t THcDC::fdebuglinkstubs
protected

Definition at line 89 of file THcDC.h.

Int_t THcDC::fdebugprintdecodeddc
protected

Definition at line 94 of file THcDC.h.

Int_t THcDC::fdebugprintrawdc
protected

Definition at line 90 of file THcDC.h.

Int_t THcDC::fdebugtrackprint
protected

Definition at line 93 of file THcDC.h.

Double_t* THcDC::fDist_best
protected

Definition at line 125 of file THcDC.h.

Int_t* THcDC::fDriftTimeSign
protected

Definition at line 162 of file THcDC.h.

Int_t THcDC::fFixLR
protected

Definition at line 108 of file THcDC.h.

Int_t THcDC::fFixPropagationCorrection
protected

Definition at line 110 of file THcDC.h.

Double_t* THcDC::fGammaAngle
protected

Definition at line 172 of file THcDC.h.

Int_t THcDC::fHMSStyleChambers
protected

Definition at line 95 of file THcDC.h.

Bool_t THcDC::fInSideDipoleExit_best
protected

Definition at line 186 of file THcDC.h.

Double_t* THcDC::fLR_best
protected

Definition at line 126 of file THcDC.h.

Int_t* THcDC::fMaxHits
protected

Definition at line 149 of file THcDC.h.

Int_t* THcDC::fMinCombos
protected

Definition at line 150 of file THcDC.h.

Int_t* THcDC::fMinHits
protected

Definition at line 148 of file THcDC.h.

Int_t THcDC::fN_True_RawHits
protected

Definition at line 122 of file THcDC.h.

Int_t* THcDC::fNChamber
protected

Definition at line 160 of file THcDC.h.

UInt_t THcDC::fNChambers
protected

Definition at line 107 of file THcDC.h.

Int_t* THcDC::fNChamHits
protected

Definition at line 189 of file THcDC.h.

UInt_t THcDC::fNDCTracks
protected

Definition at line 99 of file THcDC.h.

Int_t THcDC::fNhits
protected

Definition at line 120 of file THcDC.h.

Int_t THcDC::fNPlanes
protected

Definition at line 105 of file THcDC.h.

Int_t THcDC::fNSp
protected

Definition at line 123 of file THcDC.h.

Int_t THcDC::fNsp_best
protected

Definition at line 124 of file THcDC.h.

Double_t THcDC::fNSperChan
protected

Definition at line 133 of file THcDC.h.

Int_t THcDC::fNthits
protected

Definition at line 121 of file THcDC.h.

Int_t THcDC::fNTracksMaxFP
protected

Definition at line 136 of file THcDC.h.

Int_t* THcDC::fNWires
protected

Definition at line 159 of file THcDC.h.

Double_t* THcDC::fPitch
protected

Definition at line 173 of file THcDC.h.

Double_t** THcDC::fPlaneCoeffs
protected

Definition at line 177 of file THcDC.h.

Int_t* THcDC::fPlaneEvents
protected

Definition at line 190 of file THcDC.h.

char** THcDC::fPlaneNames
protected

Definition at line 106 of file THcDC.h.

std::vector<THcDriftChamberPlane*> THcDC::fPlanes
protected

Definition at line 202 of file THcDC.h.

Double_t* THcDC::fPlaneTimeZero
protected

Definition at line 175 of file THcDC.h.

Double_t* THcDC::fPos_best
protected

Definition at line 127 of file THcDC.h.

char THcDC::fPrefix[2]
protected

Definition at line 104 of file THcDC.h.

Bool_t* THcDC::fPresentP
protected

Definition at line 194 of file THcDC.h.

Int_t THcDC::fProjectToChamber
protected

Definition at line 114 of file THcDC.h.

Int_t* THcDC::fReadoutLR
protected

Definition at line 164 of file THcDC.h.

Int_t* THcDC::fReadoutTB
protected

Definition at line 163 of file THcDC.h.

Double_t* THcDC::fResiduals
protected

Definition at line 128 of file THcDC.h.

Double_t* THcDC::fResidualsExclPlane
protected

Definition at line 129 of file THcDC.h.

Double_t* THcDC::fSigma
protected

Definition at line 176 of file THcDC.h.

Int_t THcDC::fSingleStub
protected

Definition at line 135 of file THcDC.h.

Int_t THcDC::fSp1_ID_best
protected

Definition at line 184 of file THcDC.h.

Int_t THcDC::fSp2_ID_best
protected

Definition at line 185 of file THcDC.h.

Double_t* THcDC::fSpace_Point_Criterion
protected

Definition at line 151 of file THcDC.h.

Int_t THcDC::fStubTest
protected

Definition at line 119 of file THcDC.h.

Int_t THcDC::fTDC_RefTimeCut
protected

Definition at line 96 of file THcDC.h.

Int_t* THcDC::fTdcWinMax
protected

Definition at line 157 of file THcDC.h.

Int_t* THcDC::fTdcWinMin
protected

Definition at line 156 of file THcDC.h.

Int_t THcDC::fTotEvents
protected

Definition at line 188 of file THcDC.h.

Double_t THcDC::fTrackLargeResidCut
protected

Definition at line 97 of file THcDC.h.

TClonesArray* THcDC::fTrackProj
protected

Definition at line 205 of file THcDC.h.

Int_t THcDC::fUseNewFindSpacePoints
protected

Definition at line 88 of file THcDC.h.

Int_t THcDC::fUseNewLinkStubs
protected

Definition at line 141 of file THcDC.h.

Int_t THcDC::fUseNewTrackFit
protected

Definition at line 142 of file THcDC.h.

Int_t THcDC::fVersion
protected

Definition at line 143 of file THcDC.h.

Double_t* THcDC::fWire_hit_did
protected

Definition at line 130 of file THcDC.h.

Double_t* THcDC::fWire_hit_should
protected

Definition at line 131 of file THcDC.h.

Int_t* THcDC::fWireOrder
protected

Definition at line 161 of file THcDC.h.

Double_t THcDC::fWireVelocity
protected

Definition at line 134 of file THcDC.h.

Double_t THcDC::fX_fp_best
protected

Definition at line 179 of file THcDC.h.

Double_t* THcDC::fXCenter
protected

Definition at line 146 of file THcDC.h.

Double_t THcDC::fXp_fp_best
protected

Definition at line 181 of file THcDC.h.

Double_t* THcDC::fXPos
protected

Definition at line 167 of file THcDC.h.

Double_t THcDC::fXptTrCriterion
protected

Definition at line 139 of file THcDC.h.

Double_t THcDC::fXtTrCriterion
protected

Definition at line 137 of file THcDC.h.

Double_t THcDC::fY_fp_best
protected

Definition at line 180 of file THcDC.h.

Double_t* THcDC::fYCenter
protected

Definition at line 147 of file THcDC.h.

Double_t THcDC::fYp_fp_best
protected

Definition at line 182 of file THcDC.h.

Double_t* THcDC::fYPos
protected

Definition at line 168 of file THcDC.h.

Double_t THcDC::fYptTrCriterion
protected

Definition at line 140 of file THcDC.h.

Double_t THcDC::fYtTrCriterion
protected

Definition at line 138 of file THcDC.h.

Double_t* THcDC::fZPos
protected

Definition at line 169 of file THcDC.h.

const UInt_t THcDC::MAXTRACKS = 100
staticprotected

Definition at line 200 of file THcDC.h.

Collaboration diagram for THcDC:

The documentation for this class was generated from the following files: