Hall C ROOT/C++ Analyzer (hcana)
Loading...
Searching...
No Matches
THcAerogel.h
Go to the documentation of this file.
1#ifndef ROOT_THcAerogel
2#define ROOT_THcAerogel
3
5// //
6// THcAerogel //
7// //
9
10#include "TClonesArray.h"
12#include "THcHitList.h"
13#include "THcAerogelHit.h"
14class THcHodoscope;
15
17
18 public:
19 THcAerogel(const char* name, const char* description = "", THaApparatus* a = NULL);
20 virtual ~THcAerogel();
21
22 virtual void Clear(Option_t* opt="");
23 virtual void Print(const Option_t* opt) const;
24 virtual void AccumulatePedestals(TClonesArray* rawhits);
25 virtual void CalculatePedestals();
26 virtual Int_t Decode(const THaEvData&);
27 virtual Int_t ReadDatabase(const TDatime& date);
31 virtual Int_t ApplyCorrections(void);
32 virtual EStatus Init(const TDatime& run_time);
33 Int_t End(THaRunBase* run=0);
34
35 Int_t GetIndex(Int_t nRegion, Int_t nValue);
36
37 THcAerogel(); // for ROOT I/O
38
39 protected:
40
41 // Event information
44
46
47 // 12 GeV variables
48 // Vector/TClonesArray length parameters
49 static const Int_t MaxNumAdcPulse = 4;
50 // Tracking variables
72
81
84 // Counting variables
93 // NPE variables
99 // FADC data objects
118 // 12 Gev FADC Sample variables
135 // Individual PMT data objects
136 vector<Int_t> fNumPosAdcHits;
137 vector<Int_t> fNumNegAdcHits;
138 vector<Int_t> fNumGoodPosAdcHits;
139 vector<Int_t> fNumGoodNegAdcHits;
140 vector<Int_t> fNumTracksMatched;
141 vector<Int_t> fNumTracksFired;
142 vector<Double_t> fPosNpe;
143 vector<Double_t> fNegNpe;
144 vector<Double_t> fGoodPosAdcPed;
145 vector<Double_t> fGoodPosAdcMult;
146 vector<Double_t> fGoodPosAdcPulseInt;
147 vector<Double_t> fGoodPosAdcPulseIntRaw;
148 vector<Double_t> fGoodPosAdcPulseAmp;
149 vector<Double_t> fGoodPosAdcPulseTime;
150 vector<Double_t> fGoodPosAdcTdcDiffTime;
151 vector<Double_t> fGoodNegAdcPed;
152 vector<Double_t> fGoodNegAdcMult;
153 vector<Double_t> fGoodNegAdcPulseInt;
154 vector<Double_t> fGoodNegAdcPulseIntRaw;
155 vector<Double_t> fGoodNegAdcPulseAmp;
156 vector<Double_t> fGoodNegAdcPulseTime;
157 vector<Double_t> fGoodNegAdcTdcDiffTime;
158 vector<Double_t> fNegAdcSampWaveform;
159 vector<Double_t> fPosAdcSampWaveform;
160
161 // 6 GeV era variables
169 Int_t fTdcOffset; /* Global TDC offset */
175 Int_t *fPosPedSum; /* Accumulators for pedestals */
183 Float_t *fA_Pos; // [fNelem] Array of ADC amplitudes
184 Float_t *fA_Neg; // [fNelem] Array of ADC amplitudes
185 Float_t *fA_Pos_p; // [fNelem] Array of ped-subtracted ADC amplitudes
186 Float_t *fA_Neg_p; // [fNelem] Array of ped-subtracted ADC amplitudes
187 Float_t *fT_Pos; // [fNelem] Array of TDCs
188 Float_t *fT_Neg; // [fNelem] Array of TDCs
195 Double_t *fPosPedMean; /* Can be supplied in parameters and then */
196 Double_t *fNegPedMean; /* be overwritten from ped analysis */
197
202
203 vector<Double_t> fPosNpeSixGev;
204 vector<Double_t> fNegNpeSixGev;
205
206 void Setup(const char* name, const char* description);
207 void DeleteArrays();
209 virtual void InitializePedestals( );
210 THcHodoscope* fglHod; // Hodoscope to get start time
211
212 ClassDef(THcAerogel,0) // Generic aerogel class
213}
214;
215
216#endif
int Int_t
bool Bool_t
float Float_t
double Double_t
const char Option_t
Option_t Option_t TPoint TPoint const char mode
Class for an Aerogel detector consisting of pairs of PMT's attached to a diffuser box.
Definition THcAerogel.h:16
Double_t * fAdcNegTimeWindowMax
Definition THcAerogel.h:78
void DeletePedestalArrays()
TClonesArray * frPosAdcPedRaw
Definition THcAerogel.h:100
vector< Int_t > fNumPosAdcHits
Definition THcAerogel.h:136
TClonesArray * frPosAdcSampPulseIntRaw
Definition THcAerogel.h:120
TClonesArray * fPosADCHits
Definition THcAerogel.h:200
Double_t * fRegionValue
Definition THcAerogel.h:83
virtual EStatus Init(const TDatime &run_time)
TClonesArray * frPosAdcSampPedRaw
Definition THcAerogel.h:119
Int_t * fPosPedLimit
Definition THcAerogel.h:177
vector< Double_t > fNegNpe
Definition THcAerogel.h:143
Int_t fTdcOffset
Definition THcAerogel.h:169
Double_t * fPosGain
Definition THcAerogel.h:97
vector< Double_t > fGoodPosAdcPed
Definition THcAerogel.h:144
TClonesArray * frNegAdcPulseInt
Definition THcAerogel.h:113
Float_t * fA_Pos
Definition THcAerogel.h:183
Double_t fRedChi2Max
Definition THcAerogel.h:61
Double_t fDpMin
Definition THcAerogel.h:66
Double_t * fNegSig
Definition THcAerogel.h:193
Int_t * fPedPosDefault
Definition THcAerogel.h:80
Double_t fENormMin
Definition THcAerogel.h:64
Int_t * fPedNegDefault
Definition THcAerogel.h:79
virtual void AccumulatePedestals(TClonesArray *rawhits)
static const Int_t MaxNumAdcPulse
Definition THcAerogel.h:49
Float_t * fT_Neg
Definition THcAerogel.h:188
vector< Int_t > fNumGoodNegAdcHits
Definition THcAerogel.h:139
vector< Double_t > fGoodPosAdcPulseAmp
Definition THcAerogel.h:148
Double_t * fPosSig
Definition THcAerogel.h:190
Int_t * fNegPedSum2
Definition THcAerogel.h:180
Double_t * fPosThresh
Definition THcAerogel.h:191
Double_t fXAtAero
Definition THcAerogel.h:69
vector< Double_t > fGoodNegAdcMult
Definition THcAerogel.h:152
TClonesArray * fPosAdcErrorFlag
Definition THcAerogel.h:116
Double_t * fPosPed
Definition THcAerogel.h:189
Double_t fPosNpeSum
Definition THcAerogel.h:94
vector< Double_t > fGoodPosAdcPulseIntRaw
Definition THcAerogel.h:147
Double_t fPosNpeSumSixGev
Definition THcAerogel.h:172
TClonesArray * frPosAdcSampPulseTime
Definition THcAerogel.h:126
TClonesArray * frNegAdcSampPulseAmp
Definition THcAerogel.h:133
Double_t * fNegPed
Definition THcAerogel.h:192
vector< Double_t > fGoodPosAdcTdcDiffTime
Definition THcAerogel.h:150
void Setup(const char *name, const char *description)
TClonesArray * frNegAdcPed
Definition THcAerogel.h:112
vector< Double_t > fPosNpeSixGev
Definition THcAerogel.h:203
Int_t * fPosPedSum2
Definition THcAerogel.h:176
TClonesArray * fNegAdcErrorFlag
Definition THcAerogel.h:117
virtual void Print(const Option_t *opt) const
Double_t fSampThreshold
Definition THcAerogel.h:55
Double_t * fNegPedMean
Definition THcAerogel.h:196
vector< Int_t > fNumNegAdcHits
Definition THcAerogel.h:137
TClonesArray * frNegAdcSampPulseTimeRaw
Definition THcAerogel.h:130
TClonesArray * frPosAdcSampPulseAmp
Definition THcAerogel.h:125
TClonesArray * fPosTDCHits
Definition THcAerogel.h:198
TClonesArray * frNegAdcSampPedRaw
Definition THcAerogel.h:127
TClonesArray * frPosAdcPulseAmpRaw
Definition THcAerogel.h:102
vector< Int_t > fNumTracksFired
Definition THcAerogel.h:141
virtual Int_t Decode(const THaEvData &)
TClonesArray * frPosAdcSampPulseTimeRaw
Definition THcAerogel.h:122
Double_t fNegNpeSum
Definition THcAerogel.h:95
Int_t fTotNumTracksFired
Definition THcAerogel.h:92
vector< Double_t > fGoodNegAdcPulseIntRaw
Definition THcAerogel.h:154
Int_t fTotNumGoodNegAdcHits
Definition THcAerogel.h:90
TClonesArray * frPosAdcSampPulseAmpRaw
Definition THcAerogel.h:121
TClonesArray * frNegAdcSampPulseInt
Definition THcAerogel.h:132
Int_t * fNegPedSum
Definition THcAerogel.h:179
virtual Int_t ApplyCorrections(void)
TClonesArray * frPosAdcSampPulseInt
Definition THcAerogel.h:124
TClonesArray * fNegTDCHits
Definition THcAerogel.h:199
Double_t fBetaMin
Definition THcAerogel.h:62
Double_t * fPosPedMean
Definition THcAerogel.h:195
Int_t fTotNumPosAdcHits
Definition THcAerogel.h:87
Double_t * fNegGain
Definition THcAerogel.h:98
Int_t GetIndex(Int_t nRegion, Int_t nValue)
THcHodoscope * fglHod
Definition THcAerogel.h:210
void DeleteArrays()
Int_t * fPosPedSum
Definition THcAerogel.h:175
vector< Double_t > fGoodPosAdcPulseInt
Definition THcAerogel.h:146
Bool_t * fPresentP
Definition THcAerogel.h:43
Double_t fNegNpeSumSixGev
Definition THcAerogel.h:173
Double_t * fNegThresh
Definition THcAerogel.h:194
Int_t fNPedestalEvents
Definition THcAerogel.h:170
vector< Double_t > fPosAdcSampWaveform
Definition THcAerogel.h:159
vector< Int_t > fNumTracksMatched
Definition THcAerogel.h:140
TClonesArray * frPosAdcPed
Definition THcAerogel.h:104
Int_t fTotNumTracksMatched
Definition THcAerogel.h:91
TClonesArray * frPosAdcSampPed
Definition THcAerogel.h:123
TClonesArray * frNegAdcSampPulseIntRaw
Definition THcAerogel.h:128
Int_t fUseSampWaveform
Definition THcAerogel.h:54
Int_t fNRegions
Definition THcAerogel.h:51
Double_t fENormMax
Definition THcAerogel.h:65
vector< Double_t > fPosNpe
Definition THcAerogel.h:142
Int_t fRegionsValueMax
Definition THcAerogel.h:52
Double_t fNpeSum
Definition THcAerogel.h:96
Int_t fDebugAdc
Definition THcAerogel.h:59
TClonesArray * frNegAdcPulseTimeRaw
Definition THcAerogel.h:111
Int_t fSixGevData
Definition THcAerogel.h:163
virtual void CalculatePedestals()
Int_t * fPosPedCount
Definition THcAerogel.h:178
Double_t fNpeThresh
Definition THcAerogel.h:71
TClonesArray * frNegAdcPedRaw
Definition THcAerogel.h:108
Int_t fTotNumGoodPosAdcHits
Definition THcAerogel.h:88
TClonesArray * frNegAdcPulseTime
Definition THcAerogel.h:115
Double_t fYAtAero
Definition THcAerogel.h:70
vector< Double_t > fGoodNegAdcPulseInt
Definition THcAerogel.h:153
Int_t fOutputSampWaveform
Definition THcAerogel.h:53
Double_t * fAdcNegTimeWindowMin
Definition THcAerogel.h:77
virtual Int_t FineProcess(TClonesArray &tracks)
vector< Double_t > fGoodNegAdcTdcDiffTime
Definition THcAerogel.h:157
vector< Double_t > fGoodPosAdcMult
Definition THcAerogel.h:145
Double_t * fAdcPosTimeWindowMin
Definition THcAerogel.h:75
Double_t fBetaMax
Definition THcAerogel.h:63
Double_t fNpeSumSixGev
Definition THcAerogel.h:174
virtual void InitializePedestals()
Int_t fTotNumAdcHits
Definition THcAerogel.h:85
TClonesArray * frPosAdcPulseTime
Definition THcAerogel.h:107
Int_t * fNegPedLimit
Definition THcAerogel.h:181
Int_t * fNegPedCount
Definition THcAerogel.h:182
TClonesArray * frNegAdcPulseAmp
Definition THcAerogel.h:114
TClonesArray * fNegADCHits
Definition THcAerogel.h:201
Int_t fNTDCPosHits
Definition THcAerogel.h:167
Int_t fSampNSB
Definition THcAerogel.h:58
TClonesArray * frPosAdcPulseAmp
Definition THcAerogel.h:106
Double_t fDiffBoxZPos
Definition THcAerogel.h:68
Float_t * fA_Neg
Definition THcAerogel.h:184
vector< Double_t > fNegAdcSampWaveform
Definition THcAerogel.h:158
Double_t fRedChi2Min
Definition THcAerogel.h:60
Int_t End(THaRunBase *run=0)
virtual ~THcAerogel()
Float_t * fA_Neg_p
Definition THcAerogel.h:186
Int_t fADC_RefTimeCut
Definition THcAerogel.h:45
virtual void Clear(Option_t *opt="")
Double_t fDpMax
Definition THcAerogel.h:67
TClonesArray * frNegAdcSampPulseTime
Definition THcAerogel.h:134
Int_t fSampNSAT
Definition THcAerogel.h:57
Double_t * fAdcPosTimeWindowMax
Definition THcAerogel.h:76
vector< Int_t > fNumGoodPosAdcHits
Definition THcAerogel.h:138
vector< Double_t > fGoodPosAdcPulseTime
Definition THcAerogel.h:149
Int_t fTotNumGoodAdcHits
Definition THcAerogel.h:86
Int_t fMinPeds
Definition THcAerogel.h:171
TClonesArray * frNegAdcPulseIntRaw
Definition THcAerogel.h:109
virtual Int_t ReadDatabase(const TDatime &date)
vector< Double_t > fGoodNegAdcPulseTime
Definition THcAerogel.h:156
Int_t fNGoodHits
Definition THcAerogel.h:164
Int_t fTotNumNegAdcHits
Definition THcAerogel.h:89
TClonesArray * frPosAdcPulseIntRaw
Definition THcAerogel.h:101
Float_t * fA_Pos_p
Definition THcAerogel.h:185
Float_t * fT_Pos
Definition THcAerogel.h:187
Int_t fSampNSA
Definition THcAerogel.h:56
virtual Int_t CoarseProcess(TClonesArray &tracks)
TClonesArray * frPosAdcPulseInt
Definition THcAerogel.h:105
Int_t fNADCPosHits
Definition THcAerogel.h:165
vector< Double_t > fGoodNegAdcPed
Definition THcAerogel.h:151
Int_t fNADCNegHits
Definition THcAerogel.h:166
vector< Double_t > fNegNpeSixGev
Definition THcAerogel.h:204
TClonesArray * frNegAdcPulseAmpRaw
Definition THcAerogel.h:110
Int_t fAnalyzePedestals
Definition THcAerogel.h:162
Int_t fNhits
Definition THcAerogel.h:42
Int_t fNTDCNegHits
Definition THcAerogel.h:168
TClonesArray * frNegAdcSampPed
Definition THcAerogel.h:131
vector< Double_t > fGoodNegAdcPulseAmp
Definition THcAerogel.h:155
Double_t fAdcTdcOffset
Definition THcAerogel.h:82
virtual Int_t DefineVariables(EMode mode=kDefine)
TClonesArray * frNegAdcSampPulseAmpRaw
Definition THcAerogel.h:129
TClonesArray * frPosAdcPulseTimeRaw
Definition THcAerogel.h:103
Builds a Hall C ENGx1INE style list of raw hits from raw data.
Definition THcHitList.h:27
ClassDef(THcHitList, 0)
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends.
TArc a
void tracks()