10 outFile =
new TFile(outName,
"RECREATE");
11 ZdcAnalize =
new TTree(
"ZdcAnaTree",
"ZdcAnaTree");
14 "run/I:event/I:beamTrigger/I:fakeTrigger/I:" 15 "pedestalTrigger/I:outSpillPedestalTrigger/I:inSpillPedestalTrigger/I:" 16 "laserTrigger/I:laserTrigger/I:ledTrigger/I:spillTrigger/I");
19 "trigger/D:ttcL1/D:beamCoincidence/D:laserFlash/D:qiePhase/D:" 20 "TTOF1/D:TTOF2/D:m1[5]/D:m2[5]/D:m3[5]/D:" 21 "s1[5]/D:s2[5]/D:s3[5]/D:s4[5]/D:" 22 "bh1[5]/D:bh2[5]/D:bh3[5]/D:bh4[5]/D");
25 "VM/D:V3/D:V6/D:VH1/D:VH2/D:VH3/D:VH4/D:Ecal7x7/D:" 26 "Sci521/D:Sci528/D:CK1/D:CK2/D:CK3/D:SciVLE/D:S1/D:S2/D:S3/D:S4/D:" 27 "VMF/D:VMB/D:VM1/D:VM2/D:VM3/D:VM4/D:VM5/D:VM6/D:VM7/D:VM8/D:" 28 "TOF1/D:TOF2/D:BH1/D:BH2/D:BH3/BH4/D");
31 "WCAx[5]/D:WCAy[5]/D:WCBx[5]/D:WCBy[5]/D:" 32 "WCCx[5]/D:WCCy[5]/D:WCDx[5]/D:WCDy[5]/D:WCEx[5]/D:WCEy[5]/D:" 33 "WCFx[5]/D:WCFy[5]/D:WCGx[5]/D:WCGy[5]/D:WCHx[5]/D:WCHy[5]/D");
36 "zdcHAD1/D:zdcHAD2/D:zdcHAD3/D:zdcHAD4/D:" 37 "zdcEM1/D:zdcEM2/D:zdcEM3/D:zdcEM4/D:zdcEM5/D:" 38 "zdcScint1/D:zdcScint2/D:" 42 "zdcHAD1/D:zdcHAD2/D:zdcHAD3/D:zdcHAD4/D:" 43 "zdcEM1/D:zdcEM2/D:zdcEM3/D:zdcEM4/D:zdcEM5/D:" 44 "zdcScint1/D:zdcScint2/D:" 78 trigger.outSpillPedestalTrigger = 1;
80 trigger.inSpillPedestalTrigger = 1;
104 for (indx = 0; indx < times.
M1Count(); indx++)
107 for (indx = 0; indx < times.
M2Count(); indx++)
110 for (indx = 0; indx < times.
M3Count(); indx++)
113 for (indx = 0; indx < times.
S1Count(); indx++)
116 for (indx = 0; indx < times.
S2Count(); indx++)
119 for (indx = 0; indx < times.
S3Count(); indx++)
122 for (indx = 0; indx < times.
S4Count(); indx++)
125 for (indx = 0; indx < times.
BH1Count(); indx++)
128 for (indx = 0; indx < times.
BH2Count(); indx++)
131 for (indx = 0; indx < times.
BH3Count(); indx++)
134 for (indx = 0; indx < times.
BH4Count(); indx++)
189 unsigned int indTop = 5;
190 unsigned int indx = 0;
191 for (indx = 0; indx <
wcax.size(); indx++)
194 for (indx = 0; indx <
wcay.size(); indx++)
197 for (indx = 0; indx <
wcbx.size(); indx++)
200 for (indx = 0; indx <
wcby.size(); indx++)
203 for (indx = 0; indx <
wccx.size(); indx++)
206 for (indx = 0; indx <
wccy.size(); indx++)
209 for (indx = 0; indx <
wcdx.size(); indx++)
212 for (indx = 0; indx <
wcdy.size(); indx++)
215 for (indx = 0; indx <
wcdx.size(); indx++)
218 for (indx = 0; indx <
wcey.size(); indx++)
221 for (indx = 0; indx <
wcfx.size(); indx++)
224 for (indx = 0; indx <
wcfy.size(); indx++)
227 for (indx = 0; indx <
wcgx.size(); indx++)
230 for (indx = 0; indx <
wcgy.size(); indx++)
233 for (indx = 0; indx <
wchx.size(); indx++)
236 for (indx = 0; indx <
wchy.size(); indx++)
243 std::cout <<
"****************************************************" << std::endl;
245 for (
i = zdcHits.
begin();
i != zdcHits.
end();
i++) {
double M3Hits(int index) const
Returns the indexed hit time from muon veto scintillator M3.
double BH3Hits(int index) const
Returns the indexed hit time from beam halo counter BEAM RIGHT FROM PARTICLE'S VIEW.
std::vector< double > wcfx
std::vector< double > wcgx
int BH1Count() const
Returns the number of hits from beam halo counter up horizontal.
double S3Hits(int index) const
Returns the indexed hit time from scintillator S3, which is 2cm x 2cm.
double M1Hits(int index) const
Returns the indexed hit time from muon veto scintillator M1.
uint16_t eventNumber() const
Returns the event number of this trigger.
std::vector< double > wcex
int S3Count() const
Returns the number of hits from scintillator S3, which is 2cm x 2cm.
std::vector< double > wchx
uint32_t runNumber() const
Returns the current run number.
std::vector< double > wcax
bool wasLEDTrigger() const
returns true if this was a LED trigger
double BeamCoincidenceHits(int index) const
Returns the indexed hit time from Beam Coincidence.
std::vector< double > wccx
std::vector< double > wchy
double triggerTime() const
Returns the trigger time in ns.
std::vector< T >::const_iterator const_iterator
double beamCoincidence[5]
double beam_coincidence[5]
double laserFlash() const
Returns the laser activation time in ns.
void analyze(const ZDCRecHitCollection &hf)
double ttcL1Atime() const
Returns the Level 1 Accept time in ns.
std::vector< double > wcbx
double BH4Hits(int index) const
Returns the indexed hit time from beam halo counter DOWN HORZINTAL.
std::vector< double > wccy
void setup(const std::string &histoFileName)
std::vector< double > wcgy
std::vector< double > wcey
constexpr int32_t depth() const
get the depth (1 for EM, channel + 1 for HAD, 2 for RPD, not sure yet for LUM, leave as default) ...
bool wasSpillIgnorantPedestalTrigger() const
returns true if this trigger was a calibration trigger
int BeamCoincidenceCount() const
Returns the number of hits from Beam Coincidence.
std::vector< double > wcdy
int M2Count() const
Returns the number of hits from muon veto scintillator M2.
double TOF2Stime() const
Returns the TOF2S time (zero otherwise)
std::vector< double > wcfy
double TOF1Stime() const
Returns the TOF1S time (zero otherwise)
double BH2Hits(int index) const
Returns the indexed hit time from from beam halo counter BEAM LEFT FROM PARTICLE'S VIEW...
double BH1Hits(int index) const
Returns the indexed hit time from beam halo counter UP HORIZONTAL.
const_iterator begin() const
double VMadc() const
Muon Veto adc.
bool wasInSpillPedestalTrigger() const
returns true if this was an in-spill pedestal trigger
bool wasOutSpillPedestalTrigger() const
returns true if this was an out-of-spill pedestal trigger
bool wasFakeTrigger() const
returns true if this trigger was fake (from a non-H2 manager)
const_iterator end() const
bool wasInSpill() const
returns true if the "spill" bit was set
double S2Hits(int index) const
Returns the indexed hit time from scintillator S2, which is 4cm x 4cm.
int S2Count() const
Returns the number of hits from scintillator S2, which is 4cm x 4cm.
std::vector< double > wcdx
int M1Count() const
Returns the number of hits from muon veto scintillator M1.
int M3Count() const
Returns the number of hits from muon veto scintillator M3.
constexpr Section section() const
get the section
int BH4Count() const
Returns the number of hits from beam halo counter down horizontal.
int S1Count() const
Returns the number of hits from scintillator S1, which is 12cm x 12cm.
double qiePhase() const
Returns the QIE phase for 2003 testbeam data (zero otherwise)
std::vector< double > wcby
bool wasLaserTrigger() const
returns true if this was a laser trigger
int BH2Count() const
Returns the number of hits from beam halo counter left from particle view.
bool isOutSpillPedestalTrigger
bool wasBeamTrigger() const
returns true if this trigger came from beam data
int S4Count() const
Returns the number of hits from scintillator S4, which is 12cm x 12cm.
constexpr int32_t channel() const
get the channel
void getChamberHits(char chamberch, std::vector< double > &xvec, std::vector< double > &yvec) const
Get the wire chamber hits for the specified chamber For HB/HE/HO running, chambers A...
double M2Hits(int index) const
Returns the indexed hit time from muon veto scintillator M2.
constexpr int32_t zside() const
get the z-side of the cell (1/-1)
int BH3Count() const
Returns the number of hits from beam halo counter right from particle view.
bool isInSpillPedestalTrigger
double S1Hits(int index) const
Returns the indexed hit time from scintillator S1, which is 12cm x 12cm.
double S4Hits(int index) const
Returns the indexed hit time from scintillator S4, which is 12cm x 12cm.
std::vector< double > wcay