Hall C ROOT/C++ Analyzer (hcana)
THcHodoscope.h
Go to the documentation of this file.
1 #ifndef ROOT_THcHodoscope
2 #define ROOT_THcHodoscope
3 
5 // //
6 // THcHodoscope //
7 // //
9 
10 #include <vector>
11 
12 #include "TClonesArray.h"
13 #include "TH1F.h"
14 #include "THaNonTrackingDetector.h"
15 #include "THcHitList.h"
16 #include "THcHodoHit.h"
17 #include "THcRawHodoHit.h"
18 #include "THcScintillatorPlane.h"
19 #include "THcCherenkov.h"
20 
21 #include "THaTrackingDetector.h"
22 #include "THcHitList.h"
23 #include "THcRawDCHit.h"
24 #include "THcSpacePoint.h"
25 #include "THcDriftChamberPlane.h"
26 #include "THcDriftChamber.h"
27 #include "TMath.h"
28 
29 #include "THaSubDetector.h"
30 #include "TClonesArray.h"
31 #include <iostream>
32 #include <fstream>
33 
34 
35 class THaScCalib;
36 
37 class THcHodoscope : public THaNonTrackingDetector, public THcHitList {
38 
39 public:
40  THcHodoscope( const char* name, const char* description = "",
41  THaApparatus* a = NULL );
42  virtual ~THcHodoscope();
43 
44  virtual Int_t Decode( const THaEvData& );
45  virtual EStatus Init( const TDatime& run_time );
46  virtual void Clear( Option_t* opt="" );
47 
48  virtual Int_t CoarseProcess( TClonesArray& tracks );
49  virtual Int_t FineProcess( TClonesArray& tracks );
50  virtual Int_t End(THaRunBase* run=0);
51 
53  void EstimateFocalPlaneTime(void);
54  void OriginalTrackEffTest(void);
55  void TrackEffTest(void);
56  void CalcCluster(void);
57  virtual Int_t ApplyCorrections( void );
58  Double_t GetStartTime() const { return fStartTime; }
59  Double_t GetOffsetTime() const { return fOffsetTime; }
61  Int_t GetNfptimes() const {return fNfptimes;};
62  Int_t GetScinIndex(Int_t nPlane, Int_t nPaddle);
63  Int_t GetScinIndex(Int_t nSide, Int_t nPlane, Int_t nPaddle);
65  Int_t GetNTracks() const { return fTrackProj->GetLast()+1; }
66  Double_t GetTdcMin() const {return fScinTdcMin;}
67  Double_t GetTdcMax() const {return fScinTdcMax;}
73  Double_t GetHodoPosMinPh(Int_t iii) const {return fHodoPosMinPh[iii];}
74  Double_t GetHodoNegMinPh(Int_t iii) const {return fHodoNegMinPh[iii];}
77  Double_t GetHodoVelLight(Int_t iii) const {return fHodoVelLight[iii];}
88 
89  //Get Time Walk Parameters
90  Double_t GetHodoVelFit(Int_t iii) const {return fHodoVelFit[iii];}
91  Double_t GetHodoCableFit(Int_t iii) const {return fHodoCableFit[iii];}
92  Double_t GetHodoLCoeff(Int_t iii) const {return fHodo_LCoeff[iii];}
93 
94 
95  Double_t GetHodoPos_c1(Int_t iii) const {return fHodoPos_c1[iii];}
96  Double_t GetHodoNeg_c1(Int_t iii) const {return fHodoNeg_c1[iii];}
97  Double_t GetHodoPos_c2(Int_t iii) const {return fHodoPos_c2[iii];}
98  Double_t GetHodoNeg_c2(Int_t iii) const {return fHodoNeg_c2[iii];}
99  Double_t GetTDCThrs() const {return fTdc_Thrs;}
100 
103  Double_t GetBetaNotrk() const {return fBetaNoTrk;}
104 
105  Int_t GetGoodRawPad(Int_t iii){return fTOFCalc[iii].good_raw_pad;}
106  Int_t GetGoodRawPlane(Int_t iii){return fTOFCalc[iii].pindex;}
107  Int_t GetNScinHits(Int_t iii){return fNScinHits[iii];}
108  Int_t GetTotHits(){return fTOFCalc.size();}
109 
110  Int_t GetNPlanes() { return fNPlanes;}
112  UInt_t GetNPaddles(Int_t ip) { return fNPaddle[ip];}
113  Double_t GetHodoSlop(Int_t ip) { return fHodoSlop[ip];}
116  Int_t GetTdcOffset(Int_t ip) const { return fTdcOffset[ip];}
117  Double_t GetAdcTdcOffset(Int_t ip) const { return fAdcTdcOffset[ip];}
118 
119 
120  Double_t GetBeta() const {return fBeta;}
121 
122 
123  Double_t GetHodoPosSigma(Int_t iii) const {return fHodoPosSigma[iii];}
124  Double_t GetHodoNegSigma(Int_t iii) const {return fHodoNegSigma[iii];}
125 
126  Bool_t GetFlags(Int_t itrack, Int_t iplane, Int_t ihit,
127  Bool_t& onTrack, Bool_t& goodScinTime,
128  Bool_t& goodTdcNeg, Bool_t& goodTdcPos) const {
129  onTrack = fGoodFlags[itrack][iplane][ihit].onTrack;
130  goodScinTime = fGoodFlags[itrack][iplane][ihit].goodScinTime;
131  goodTdcNeg = fGoodFlags[itrack][iplane][ihit].goodTdcNeg;
132  goodTdcPos = fGoodFlags[itrack][iplane][ihit].goodTdcPos;
133  return(kTRUE);
134  }
135 
136  const TClonesArray* GetTrackHits() const { return fTrackProj; }
137 
138  friend class THaScCalib;
139 
140  THcHodoscope(); // for ROOT I/O
141 protected:
142 
144 
147 
149 
151 
153  // Calibration
157  // Per-event data
174 
176 
179  // Per-event data
180 
181  // Potential Hall C parameters. Mostly here for demonstration
182  Int_t fNPlanes; // Number of planes
183  UInt_t fMaxScinPerPlane,fMaxHodoScin,fTotHodScin; // max number of scin/plane; product of the first two
187  Int_t fNumPlanesBetaCalc; // Number of planes to use in beta calculation
189  Double_t fScinTdcMin, fScinTdcMax; // min and max TDC values
190  char** fPlaneNames;
191  UInt_t* fNPaddle; // Number of paddles per plane
193 
198 
202 
218 
219  //New Time-Walk Calibration Parameters
230 
231  Double_t fPartMass; // Nominal particle mass
232  Double_t fBetaNominal; // Beta for central ray of nominal particle type
233 
234  THcScintillatorPlane** fPlanes; // List of plane objects
235 
236  TClonesArray* fTrackProj; // projection of track onto scintillator plane
237  // and estimated match to TOF paddle
238 
239  //-------------------------- Ahmed -----------------------------
240 
241 
245 
251 
255 
270 
277  ofstream fDumpOut;
278  string fTOFDumpFile;
280 
281 
286 
291 
292  // Double_t** fScinHit; // [fNPlanes] Array
293 
294  Double_t* fFPTime; // [fNPlanes] Array
295 
296 
297  Double_t* fSumPlaneTime; // [fNPlanes]
298 
299  Int_t* fNScinHits; // [fNPlanes]
300  Int_t* fNPlaneTime; // [fNPlanes]
301 
302  Bool_t* fGoodPlaneTime; // [fNPlanes]
303 
304  //----------------------------------------------------------------
305 
306  // Useful derived quantities
307  // double tan_angle, sin_angle, cos_angle;
308 
309  // static const char NDEST = 2;
310  // struct DataDest {
311  // Int_t* nthit;
312  // Int_t* nahit;
313  // Double_t* tdc;
314  // Double_t* tdc_c;
315  // Double_t* adc;
316  // Double_t* adc_p;
317  // Double_t* adc_c;
318  // Double_t* offset;
319  // Double_t* ped;
320  // Double_t* gain;
321  // } fDataDest[NDEST]; // Lookup table for decoder
322 
323  // Inforamtion for each plane
324  // struct NoTrkPlaneInfo {
325  // Bool_t goodplanetime;
326  // NoTrkPlaneInfo () : goodplanetime(kFALSE) {}
327  // };
328  // std::vector<NoTrkPlaneInfo> fNoTrkPlaneInfo;
329 
330  // Inforamtion for each plane
331  // struct NoTrkHitInfo {
332  // Bool_t goodtwotimes;
333  // Bool_t goodscintime;
334  // NoTrkHitInfo () : goodtwotimes(kFALSE) {}
335  // };
336  // std::vector<NoTrkHitInfo> fNoTrkHitInfo;
337 
338 
339  // Used in TOF calculation (FineProcess) to hold information about hits
340  // within a given plane
341  struct TOFPInfo {
345  Double_t time_pos; // Times also corrected for particle
346  Double_t time_neg; // flight time
347  Double_t scin_pos_time; // Times corrected for position on
357  TOFPInfo () : onTrack(kFALSE), keep_pos(kFALSE), keep_neg(kFALSE),
358  time_pos(-99.0), time_neg(-99.0), scin_pos_time(0.0),
359  scin_neg_time(0.0) {}
360  };
361  std::vector<TOFPInfo> fTOFPInfo;
362 
363  // Used to hold information about all hits within the hodoscope for the TOF
364  struct TOFCalc {
366  Int_t pindex; // Plane index
375  TOFCalc() : good_scin_time(kFALSE), good_tdc_pos(kFALSE),
376  good_tdc_neg(kFALSE) {}
377  };
378  std::vector<TOFCalc> fTOFCalc;
379  // This doesn't work because we clear this structure each track
380  // Do we need an vector of vectors of structures?
381  // Start with a separate vector of vectors for now.
382  std::vector<std::vector<Double_t> > fdEdX; // Vector over track #
383  std::vector<Int_t > fNScinHit; // # scins hit for the track
384  std::vector<std::vector<Int_t> > fScinHitPaddle; // Vector over hits in a plane #
385  std::vector<Int_t > fNClust; // # scins clusters for the plane
386  std::vector<std::vector<Int_t> > fClustSize; // # scin cluster size
387  std::vector<std::vector<Double_t> > fClustPos; // # scin cluster position
388  std::vector<Int_t > fNCluster; // # scins clusters for the plane
389  std::vector<std::vector<Int_t> > fClusterSize; // # scin cluster size
390  std::vector<std::vector<Double_t> > fClusterXPos; // # scin cluster position
391  std::vector<std::vector<Double_t> > fClusterYPos; // # scin cluster position
392  std::vector<Int_t > fThreeScin; // # scins three clusters for the plane
393  std::vector<Int_t > fGoodScinHitsX; // # hits in fid x range
394  // Could combine the above into a structure
395 
396  struct GoodFlags {
401  GoodFlags() : onTrack(false), goodScinTime(false),
402  goodTdcNeg(false), goodTdcPos(false) {}
403  };
404  std::vector<std::vector<std::vector<GoodFlags> > > fGoodFlags;
405  //
406 
407  void DeleteArrays();
408  virtual Int_t ReadDatabase( const TDatime& date );
409  virtual Int_t DefineVariables( EMode mode = kDefine );
410  enum ESide { kLeft = 0, kRight = 1 };
411 
412  virtual Double_t TimeWalkCorrection(const Int_t& paddle,
413  const ESide side);
414  void Setup(const char* name, const char* description);
415 
416  ClassDef(THcHodoscope,0) // Hodoscope detector
417 };
418 
420 
421 #endif
Double_t * fHodoSigmaPos
Definition: THcHodoscope.h:228
A single plane of scintillators.
Int_t fHitSweet1Y
Definition: THcHodoscope.h:283
Double_t * fHodoNegAdcTimeWindowMin
Definition: THcHodoscope.h:194
Double_t * fHodoPosInvAdcOffset
Definition: THcHodoscope.h:212
void EstimateFocalPlaneTime(void)
void OriginalTrackEffTest(void)
Double_t fTofTolerance
Definition: THcHodoscope.h:185
std::vector< Int_t > fThreeScin
Definition: THcHodoscope.h:392
Double_t GetTofTolerance() const
Definition: THcHodoscope.h:68
Double_t fTOFCalib_cer_lo
Definition: THcHodoscope.h:273
void Setup(const char *name, const char *description)
Bool_t fGoodEventTOFCalib
Definition: THcHodoscope.h:279
Double_t GetHodoNegInvAdcAdc(Int_t iii) const
Definition: THcHodoscope.h:83
friend class THaScCalib
Definition: THcHodoscope.h:138
Double_t GetHodoNegAdcTimeWindowMax(Int_t iii) const
Definition: THcHodoscope.h:86
Double_t * fPlaneSpacing
Definition: THcHodoscope.h:254
Double_t * fAdcTdcOffset
Definition: THcHodoscope.h:260
Double_t fNCerNPE
Definition: THcHodoscope.h:257
void DeleteArrays()
Int_t fTofUsingInvAdc
Definition: THcHodoscope.h:211
Double_t GetBetaNotrk() const
Definition: THcHodoscope.h:103
Int_t GetScinIndex(Int_t nPlane, Int_t nPaddle)
std::vector< std::vector< Int_t > > fClustSize
Definition: THcHodoscope.h:386
Int_t GetLast() const
Int_t fTrackBetaIncludeSinglePmtHits
Definition: THcHodoscope.h:192
Int_t fTrackEffTestNScinPlanes
Definition: THcHodoscope.h:263
const char Option_t
Class for gas Cherenkov detectors.
Definition: THcCherenkov.h:16
Double_t fTOFCalib_beta_hi
Definition: THcHodoscope.h:275
Class representing a single hit for the Hodoscopes.
Definition: THcHodoHit.h:16
virtual Int_t End(THaRunBase *run=0)
Double_t fOffsetTime
Definition: THcHodoscope.h:162
Double_t GetPlaneCenter(Int_t ip)
Definition: THcHodoscope.h:114
Double_t fScinTdcMin
Definition: THcHodoscope.h:189
Double_t GetHodoPosTimeOffset(Int_t iii) const
Definition: THcHodoscope.h:75
Double_t * fHodo_LCoeff
Definition: THcHodoscope.h:222
Double_t * fHodoNegMinPh
Definition: THcHodoscope.h:204
std::vector< std::vector< std::vector< GoodFlags > > > fGoodFlags
Definition: THcHodoscope.h:404
Int_t * fNPlaneTime
Definition: THcHodoscope.h:300
Int_t GetNfptimes() const
Definition: THcHodoscope.h:61
Double_t GetPathLengthCentral()
Double_t GetBeta() const
Definition: THcHodoscope.h:120
Builds a Hall C ENGINE style list of raw hits from raw data.
Definition: THcHitList.h:27
std::vector< Int_t > fGoodScinHitsX
Definition: THcHodoscope.h:393
Double_t GetHodoPosAdcTimeWindowMax(Int_t iii) const
Definition: THcHodoscope.h:84
Int_t fADC_RefTimeCut
Definition: THcHodoscope.h:146
Double_t GetHodoNegTimeOffset(Int_t iii) const
Definition: THcHodoscope.h:76
Double_t * fHodoPosPhcCoeff
Definition: THcHodoscope.h:205
Double_t GetOffsetTime() const
Definition: THcHodoscope.h:59
int Int_t
bool Bool_t
Int_t GetTdcOffset(Int_t ip) const
Definition: THcHodoscope.h:116
std::vector< std::vector< Double_t > > fdEdX
Definition: THcHodoscope.h:382
Double_t GetHodoCableFit(Int_t iii) const
Definition: THcHodoscope.h:91
std::vector< TOFPInfo > fTOFPInfo
Definition: THcHodoscope.h:361
Double_t GetHodoNeg_c1(Int_t iii) const
Definition: THcHodoscope.h:96
Double_t fScinTdcMax
Definition: THcHodoscope.h:189
Double_t fScin2YdZpos
Definition: THcHodoscope.h:250
Double_t fStartTimeCenter
Definition: THcHodoscope.h:184
Double_t * fHodoPosMinPh
Definition: THcHodoscope.h:203
Int_t GetNTracks() const
Definition: THcHodoscope.h:65
virtual Double_t TimeWalkCorrection(const Int_t &paddle, const ESide side)
Int_t fSweet2XScin
Definition: THcHodoscope.h:289
std::vector< Int_t > fNScinHit
Definition: THcHodoscope.h:383
Double_t GetAdcTdcOffset(Int_t ip) const
Definition: THcHodoscope.h:117
Double_t * fHodoPosSigma
Definition: THcHodoscope.h:200
Bool_t IsStartTimeGood() const
Definition: THcHodoscope.h:60
THcScintillatorPlane ** fPlanes
Definition: THcHodoscope.h:234
Int_t fSweet2YScin
Definition: THcHodoscope.h:290
Double_t fBetaNominal
Definition: THcHodoscope.h:232
Double_t * fHodoVelLight
Definition: THcHodoscope.h:199
Int_t fCosmicFlag
Definition: THcHodoscope.h:186
Double_t GetHodoVelFit(Int_t iii) const
Definition: THcHodoscope.h:90
Double_t fTimeHist_StartTime_Hits
Definition: THcHodoscope.h:169
std::vector< Int_t > fNCluster
Definition: THcHodoscope.h:388
virtual Int_t DefineVariables(EMode mode=kDefine)
Double_t fStartTimeSlop
Definition: THcHodoscope.h:184
Double_t fBetaNoTrk
Definition: THcHodoscope.h:177
Double_t fTOFCalib_shtrk_lo
Definition: THcHodoscope.h:271
Double_t GetStartTimeSlop() const
Definition: THcHodoscope.h:102
const TClonesArray * GetTrackHits() const
Definition: THcHodoscope.h:136
void TrackEffTest(void)
Double_t fScin2XdZpos
Definition: THcHodoscope.h:248
virtual EStatus Init(const TDatime &run_time)
Double_t GetHodoPos_c2(Int_t iii) const
Definition: THcHodoscope.h:97
UInt_t fMaxHodoScin
Definition: THcHodoscope.h:183
std::vector< std::vector< Int_t > > fScinHitPaddle
Definition: THcHodoscope.h:384
Double_t fTdc_Thrs
Definition: THcHodoscope.h:227
Int_t fAnalyzePedestals
Definition: THcHodoscope.h:148
Int_t GetTotHits()
Definition: THcHodoscope.h:108
Double_t fPathLengthCentral
Definition: THcHodoscope.h:188
Double_t GetTdcMin() const
Definition: THcHodoscope.h:66
char ** fPlaneNames
Definition: THcHodoscope.h:190
std::vector< TOFCalc > fTOFCalc
Definition: THcHodoscope.h:378
Double_t GetHodoLCoeff(Int_t iii) const
Definition: THcHodoscope.h:92
Int_t fGoodScinHits
Definition: THcHodoscope.h:264
virtual Int_t CoarseProcess(TClonesArray &tracks)
virtual void Clear(Option_t *opt="")
Double_t DetermineTimePeak(Int_t FillFlag)
Double_t * fHodoNegAdcTimeWindowMax
Definition: THcHodoscope.h:195
Double_t fTimeHist_StartTime_Peak
Definition: THcHodoscope.h:167
std::vector< std::vector< Double_t > > fClusterXPos
Definition: THcHodoscope.h:390
Int_t * fyHiScin
Definition: THcHodoscope.h:268
Double_t GetHodoNegAdcTimeWindowMin(Int_t iii) const
Definition: THcHodoscope.h:87
Double_t * fHodoPosAdcTimeWindowMax
Definition: THcHodoscope.h:197
Double_t fStartTime
Definition: THcHodoscope.h:160
Double_t fTimeHist_FpTime_Sigma
Definition: THcHodoscope.h:172
Int_t fNumPlanesBetaCalc
Definition: THcHodoscope.h:187
Int_t fHitSweet2Y
Definition: THcHodoscope.h:285
Double_t GetHodoNeg_c2(Int_t iii) const
Definition: THcHodoscope.h:98
Double_t * fHodoNeg_c1
Definition: THcHodoscope.h:224
Double_t GetHodoNegSigma(Int_t iii) const
Definition: THcHodoscope.h:124
Double_t trackeff_scint_xdiff_max
Definition: THcHodoscope.h:156
Int_t fCheckEvent
Definition: THcHodoscope.h:242
Double_t fTimeHist_FpTime_Peak
Definition: THcHodoscope.h:171
UInt_t fMaxScinPerPlane
Definition: THcHodoscope.h:183
Bool_t * fPresentP
Definition: THcHodoscope.h:165
Double_t GetHodoNegPhcCoeff(Int_t iii) const
Definition: THcHodoscope.h:72
Int_t fSweet1XScin
Definition: THcHodoscope.h:287
Int_t fEventType
Definition: THcHodoscope.h:243
auto * a
Int_t * fNScinHits
Definition: THcHodoscope.h:299
Double_t GetTdcMax() const
Definition: THcHodoscope.h:67
Double_t GetTdcToTime() const
Definition: THcHodoscope.h:69
Double_t * fHodoSigmaNeg
Definition: THcHodoscope.h:229
void CalcCluster(void)
unsigned int UInt_t
Int_t * fyLoScin
Definition: THcHodoscope.h:267
std::vector< std::vector< Double_t > > fClustPos
Definition: THcHodoscope.h:387
Double_t fScin2YZpos
Definition: THcHodoscope.h:249
ofstream fDumpOut
Definition: THcHodoscope.h:277
Double_t GetPlaneSpacing(Int_t ip)
Definition: THcHodoscope.h:115
Int_t GetNScinHits(Int_t iii)
Definition: THcHodoscope.h:107
Double_t * fHodoPos_c1
Definition: THcHodoscope.h:223
Double_t GetStartTime() const
Definition: THcHodoscope.h:58
Double_t * fHodoPosInvAdcLinear
Definition: THcHodoscope.h:214
Int_t fdebugprintscinraw
Definition: THcHodoscope.h:261
Double_t * fHodoPos_c2
Definition: THcHodoscope.h:225
void run(bool only_compile=false)
Double_t GetHodoPos_c1(Int_t iii) const
Definition: THcHodoscope.h:95
Double_t trackeff_scint_ydiff_max
Definition: THcHodoscope.h:155
Int_t fGoodTrack
Definition: THcHodoscope.h:246
std::vector< std::vector< Int_t > > fClusterSize
Definition: THcHodoscope.h:389
Double_t fScin2XZpos
Definition: THcHodoscope.h:247
Int_t fSweet1YScin
Definition: THcHodoscope.h:288
const Bool_t kFALSE
virtual Int_t ReadDatabase(const TDatime &date)
Double_t fScinTdcToTime
Definition: THcHodoscope.h:184
UInt_t fTotHodScin
Definition: THcHodoscope.h:183
Int_t GetGoodRawPad(Int_t iii)
Definition: THcHodoscope.h:105
Double_t GetHodoPosInvAdcLinear(Int_t iii) const
Definition: THcHodoscope.h:80
Double_t * fHodoSlop
Definition: THcHodoscope.h:258
Double_t fTOFCalib_beta_lo
Definition: THcHodoscope.h:274
Double_t fTimeHist_StartTime_Sigma
Definition: THcHodoscope.h:168
virtual Int_t Decode(const THaEvData &)
Double_t fTimeHist_StartTime_NumPeaks
Definition: THcHodoscope.h:166
Int_t * fTdcOffset
Definition: THcHodoscope.h:259
Double_t * fHodoPosAdcTimeWindowMin
Definition: THcHodoscope.h:196
Double_t * fSumPlaneTime
Definition: THcHodoscope.h:297
Int_t GetGoodRawPlane(Int_t iii)
Definition: THcHodoscope.h:106
double Double_t
Int_t fNHodoscopes
Definition: THcHodoscope.h:269
Double_t GetHodoNegInvAdcOffset(Int_t iii) const
Definition: THcHodoscope.h:79
Double_t GetHodoSlop(Int_t ip)
Definition: THcHodoscope.h:113
Int_t fHitSweet1X
Definition: THcHodoscope.h:282
Double_t fPartMass
Definition: THcHodoscope.h:231
Double_t GetHodoVelLight(Int_t iii) const
Definition: THcHodoscope.h:77
Double_t * fFPTime
Definition: THcHodoscope.h:294
Double_t * fHodoPosInvAdcAdc
Definition: THcHodoscope.h:216
Double_t fADCStartTime
Definition: THcHodoscope.h:161
UInt_t GetNPaddles(Int_t ip)
Definition: THcHodoscope.h:112
Double_t * fHodoNegInvAdcLinear
Definition: THcHodoscope.h:215
Double_t * fHodoNegSigma
Definition: THcHodoscope.h:201
Double_t GetHodoPosInvAdcAdc(Int_t iii) const
Definition: THcHodoscope.h:82
Double_t GetBetaNominal() const
Definition: THcHodoscope.h:70
Double_t * fHodoNegPhcCoeff
Definition: THcHodoscope.h:206
Double_t GetStartTimeCenter() const
Definition: THcHodoscope.h:101
Bool_t fGoodStartTime
Definition: THcHodoscope.h:159
virtual Int_t ApplyCorrections(void)
Double_t * fHodoNeg_c2
Definition: THcHodoscope.h:226
UInt_t * fNPaddle
Definition: THcHodoscope.h:191
Double_t * fHodoCableFit
Definition: THcHodoscope.h:221
std::vector< Int_t > fNClust
Definition: THcHodoscope.h:385
virtual ~THcHodoscope()
Int_t fHitSweet2X
Definition: THcHodoscope.h:284
Double_t fBetaNoTrkChiSq
Definition: THcHodoscope.h:178
Double_t * fHodoPosTimeOffset
Definition: THcHodoscope.h:207
THcScintillatorPlane * GetPlane(Int_t ip)
Definition: THcHodoscope.h:111
Double_t * fHodoNegInvAdcAdc
Definition: THcHodoscope.h:217
Int_t * fxHiScin
Definition: THcHodoscope.h:266
Double_t GetHodoNegMinPh(Int_t iii) const
Definition: THcHodoscope.h:74
Double_t GetHodoPosSigma(Int_t iii) const
Definition: THcHodoscope.h:123
virtual Int_t FineProcess(TClonesArray &tracks)
Double_t fTimeHist_FpTime_NumPeaks
Definition: THcHodoscope.h:170
Double_t fTimeHist_FpTime_Hits
Definition: THcHodoscope.h:173
Double_t fTOFCalib_shtrk_hi
Definition: THcHodoscope.h:272
Double_t fRatio_xpfp_to_xfp
Definition: THcHodoscope.h:154
Int_t fTDC_RefTimeCut
Definition: THcHodoscope.h:145
Double_t GetHodoPosAdcTimeWindowMin(Int_t iii) const
Definition: THcHodoscope.h:85
Double_t * fPlaneCenter
Definition: THcHodoscope.h:253
Double_t GetHodoPosPhcCoeff(Int_t iii) const
Definition: THcHodoscope.h:71
Int_t GetNPlanes()
Definition: THcHodoscope.h:110
Bool_t GetFlags(Int_t itrack, Int_t iplane, Int_t ihit, Bool_t &onTrack, Bool_t &goodScinTime, Bool_t &goodTdcNeg, Bool_t &goodTdcPos) const
Definition: THcHodoscope.h:126
Int_t * fHodoPosPedLimit
Definition: THcHodoscope.h:209
Int_t * fHodoNegPedLimit
Definition: THcHodoscope.h:210
Double_t GetHodoNegInvAdcLinear(Int_t iii) const
Definition: THcHodoscope.h:81
Double_t * fHodoNegTimeOffset
Definition: THcHodoscope.h:208
const Bool_t kTRUE
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends...
Definition: THcHodoscope.h:37
Double_t * fHodoVelFit
Definition: THcHodoscope.h:220
Double_t GetHodoPosInvAdcOffset(Int_t iii) const
Definition: THcHodoscope.h:78
Double_t GetHodoPosMinPh(Int_t iii) const
Definition: THcHodoscope.h:73
string fTOFDumpFile
Definition: THcHodoscope.h:278
Double_t fChi2Min
Definition: THcHodoscope.h:252
Double_t fNormETot
Definition: THcHodoscope.h:256
Double_t fBeta
Definition: THcHodoscope.h:175
Double_t fFPTimeAll
Definition: THcHodoscope.h:163
char name[80]
Double_t * fHodoNegInvAdcOffset
Definition: THcHodoscope.h:213
Double_t GetTDCThrs() const
Definition: THcHodoscope.h:99
THcCherenkov * fCherenkov
Definition: THcHodoscope.h:143
std::vector< std::vector< Double_t > > fClusterYPos
Definition: THcHodoscope.h:391
Bool_t * fGoodPlaneTime
Definition: THcHodoscope.h:302
TClonesArray * fTrackProj
Definition: THcHodoscope.h:236
Int_t * fxLoScin
Definition: THcHodoscope.h:265
ClassDef(THcHitList, 0)