ATLAS Offline Software
Loading...
Searching...
No Matches
ZdcNtuple.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ZdcNtuple_ZdcNtuple_H
6#define ZdcNtuple_ZdcNtuple_H
7
8//#include <EventLoop/Algorithm.h>
9
12
14
15
18#include <TH1.h>
19#include <TH2.h>
23#include <TTree.h>
29
32
38
40
41#include "boost/unordered_map.hpp"
43
46#include <TLorentzVector.h>
49
51{
52 unsigned int m_lastRunNumber{0};
54
55public:
56 bool slimmed; // assume slimmed output
57 bool useGRL; // use a GRL (used by default)
58 std::string grlFilename;
59 bool enableOutputTree; // enable output TTree
60 bool enableOutputSamples; // write samples into TTree
61 bool enableTrigger; // use trigger info (skip this for laser runs)
62 bool writeOnlyTriggers; // only write passed triggers to ntuple
63 bool enableID; // store ID in ntuple
64 bool enableCalo; // store calorimeter ET in ntuple
65 bool enableClusters; // store topoclusters
66 bool enableTracks; // store tracks
67 bool enableMuons; // store muons in ntuple
68 bool enableElectrons; // store electrons in ntuple
69 bool enablePhotons; // store photons in ntuple
70 bool enableTT; // store trigger towers
71 bool enableTruth; // store truth info
72 bool enableJets; // store jets
73 bool enableTriggerJets; // store trigger jets in ntuple
74 bool zdcCalib; // run calibration file
75 bool zdcLaser; // run laser file
76 bool zdcInj; // ZDC injected-pulse run
77 bool zdcOnly; // process only ZDC+trigger
78 unsigned int zdcLowGainMode; // ZDC LG mode
79 size_t trackLimit; // max tracks for writing tree
81 bool flipDelay; // whether or not to flip un/delay for EM ZDC modules
82 bool reprocZdc; // use ZdcAnalysisTool to reprocess ZDC, otherwise use what is there
83 std::string auxSuffix; // what to add to name the new data, when reprocessing
84 size_t nsamplesZdc; // nsamples expected by ZDC tool
89 bool enableZDC; //
90 bool enableRPD; //
91 bool enableRPDAmp; //
93
95 std::string zdcConfig;
96
97 std::string outputName; // output for tree
98 int outputTreeScaledown; // scaledown factor
99
100public:
101
102 PublicToolHandle<Trig::TrigDecisionTool> m_trigDecisionTool
103 { this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool" };
106 ToolHandle< InDet::IInDetTrackSelectionTool > m_selTool;
107
109 { this, "ZdcModuleContainerName", "ZdcModules", "" };
111 { this, "ZdcSumContainerName", "ZdcSums", "" };
113 {this, "MCEventCollectionName", "TruthEvent", ""};
114
116
117 // Containers
131
132 std::shared_ptr<ZdcInjPulserAmpMap> m_zdcInjPulserAmpMap;
133
136 bool m_isMC;
139 std::vector<const Trig::ChainGroup*> m_chainGroups;
140 std::vector<const Trig::ChainGroup*> m_rerunChainGroups;
141
142 float t_L1ET;
143 float t_L1ET24;
144
145 // Histograms
146 void setupTriggerHistos();
149
151 uint32_t t_runNumber;
153 uint32_t t_lumiBlock;
154 uint32_t t_bcid;
155 float t_vInj;
157 uint32_t t_passBits;
159 uint32_t t_timeStamp;
165
168
169 uint64_t t_trigger;
171 //std::vector<uint16_t> t_decisions;
172 //std::vector<float> t_prescales;
173 float t_prescales[200];
174 bool t_decisions[200];
176
177 float t_mbts_in_e[2][8];
178 float t_mbts_out_e[2][4];
179 float t_mbts_in_t[2][8];
180 float t_mbts_out_t[2][4];
181
182 float t_T2mbts_in_e[2][8];
183 float t_T2mbts_out_e[2][4];
184 float t_T2mbts_in_t[2][8];
185 float t_T2mbts_out_t[2][4];
186
187 uint32_t t_tav[16];
188 uint32_t t_tbp[16];
189
190 float t_ZdcAmp[2];
191 float t_ZdcAmpErr[2];
192 float t_ZdcEnergy[2];
196 float t_ZdcTime[2];
197 short t_ZdcStatus[2];
198 unsigned int t_ZdcModuleMask;
199 float t_ZdcTrigEff[2];
200 unsigned short t_ZdcLucrodTriggerSideAmp[2];
204 float t_ZdcTruthEM[2];
207 std::vector< float > t_ZdcTruthParticlePosx;
208 std::vector< float > t_ZdcTruthParticlePosy;
209 std::vector< float > t_ZdcTruthParticlePosz;
210 std::vector< float > t_ZdcTruthParticleTime;
211 std::vector< float > t_ZdcTruthParticlePx;
212 std::vector< float > t_ZdcTruthParticlePy;
213 std::vector< float > t_ZdcTruthParticlePz;
214 std::vector< float > t_ZdcTruthParticleEnergy;
215 std::vector< int > t_ZdcTruthParticlePid;
216 std::vector< int > t_ZdcTruthParticleStatus;
217
218 float t_ZdcModuleAmp[2][4];
219 float t_ZdcModuleTime[2][4];
220 float t_ZdcModuleFitAmp[2][4];
221 float t_ZdcModuleFitT0[2][4];
222 float t_ZdcModuleChisq[2][4];
223 unsigned int t_ZdcModuleStatus[2][4];
231 unsigned short t_ZdcLucrodTriggerAmp[2][4];
232 unsigned short t_ZdcLucrodTriggerAmpLG[2][4];
233 float t_ZdcModuleMaxADC[2][4];
243
249 unsigned int t_ZdcModuleTruthNphotons[2][7];
250
260 float t_RpdChannelMaxADC[2][16];
262 unsigned int t_RpdChannelMaxSample[2][16];
263 unsigned int t_RpdChannelStatus[2][16];
265 unsigned int t_RpdSideStatus[2];
266 unsigned int t_RpdModuleTruthNphotons[2][16];
267
270 unsigned int t_centroidStatus[2];
277 float t_xCentroid[2];
278 float t_yCentroid[2];
279 float t_xRowCentroid[2][4];
280 float t_yColCentroid[2][4];
283
284 int t_nvx;
285 float t_vx[3];
287 std::vector<int> t_vx_trk_index;
290 float t_vxcov[6];
292 float t_puvxz;
299
301 std::vector<int8_t> t_vtx_type;
302 std::vector<float> t_vtx_x;
303 std::vector<float> t_vtx_y;
304 std::vector<float> t_vtx_z;
305 std::vector<int16_t> t_vtx_ntrk_all;
306 std::vector<float> t_vtx_sumpt2_all;
307 std::vector<int16_t> t_vtx_ntrk;
308 std::vector<float> t_vtx_sumpt2;
309 std::vector< std::vector<int16_t> > t_vtx_trk_index;
310
311 // FCal
312 float t_fcalEt;
319
324
325 // gaps
329
330 float m_gapThresholds[98] =
331 {4.7426,5.11018,5.07498,5.0969,5.10695,5.04098,5.07106,4.98087,5.11647,5.08988,5.16267,
332 5.17202,5.23803,5.25314,5.29551,5.35092,5.40863,5.44375,5.38075,5.25022,5.37933,5.25459,5.37719,5.25169,5.73985,
333 5.79174,5.79266,5.79588,5.7963,5.81949,5.82273,5.85658,5.85442,5.84779,5.77679,5.83323,5.84524,5.84439,5.84488,
334 5.84744,5.84683,5.84524,5.84594,5.84656,5.84639,5.84461,5.84515,5.84206,5.8396,5.84497,5.84801,5.84608,5.84608,
335 5.84783,5.84726,5.84844,5.8477,5.84796,5.84757,5.84822,5.84814,5.84617,5.83451,5.77658,5.84309,5.85496,5.85761,
336 5.82555,5.82206,5.78982,5.78482,5.7778,5.78327,5.74898,5.25459,5.37503,5.25459,5.37283,5.25169,5.37862,5.44473,
337 5.41041,5.34498,5.29551,5.25602,5.2283,5.17428,5.14504,5.09342,5.12256,4.98721,5.07106,5.02642,5.10031,5.11018,
338 5.05447,5.10031,4.7426};
340
341 // mbts
347
350
351 uint16_t t_raw7[2][4][2][2][7];
352 uint16_t t_raw15[2][4][2][2][15];
353 uint16_t t_raw24[2][4][2][2][24];
354 uint16_t t_raw32[2][4][2][2][32];
355 uint16_t t_raw40[2][4][2][2][40];
356
357 uint16_t t_rpdRaw[2][16][24];
358 uint16_t t_rpdRaw32[2][16][32];
359 uint16_t t_rpdRaw40[2][16][40];
360
361 // tracks
362 uint32_t t_ntrk;
363 std::vector<float> t_trk_pt;
364 std::vector<float> t_trk_eta;
365 std::vector<float> t_trk_phi;
366 std::vector<float> t_trk_e;
367 std::vector<float> t_trk_theta;
368 std::vector<float> t_trk_d0;
369 std::vector<float> t_trk_z0;
370 std::vector<float> t_trk_vz;
371 std::vector<float> t_trk_vtxz;
372 std::vector<int8_t> t_trk_charge;
373 std::vector<int16_t> t_trk_quality;
374 std::vector<int> t_trk_index;
375 std::vector<uint8_t> t_trk_nPixHits;
376 std::vector<uint8_t> t_trk_nSctHits;
377 std::vector<uint8_t> t_trk_nPixDead;
378 std::vector<uint8_t> t_trk_nSctDead;
379 std::vector<uint8_t> t_trk_nPixHoles;
380 std::vector<uint8_t> t_trk_nSctHoles;
381 std::vector<uint8_t> t_trk_nTrtHits;
382 std::vector<uint8_t> t_trk_nTrtOutliers;
383 std::vector<uint8_t> t_trk_inPixHits;
384 std::vector<uint8_t> t_trk_exPixHits;
385 std::vector<uint8_t> t_trk_ninPixHits;
386 std::vector<uint8_t> t_trk_nexPixHits;
387 std::vector<float> t_trk_pixeldEdx;
388
389 // clusters
390 uint32_t t_nclus;
391 std::vector<float> t_cc_pt;
392 std::vector<float> t_cc_eta;
393 std::vector<float> t_cc_phi;
394 std::vector<float> t_cc_e;
395 std::vector<float> t_cc_sig;
396 std::vector<int> t_cc_layer;
397 std::vector<float> t_cc_raw_m;
398 std::vector<float> t_cc_raw_eta;
399 std::vector<float> t_cc_raw_phi;
400 std::vector<float> t_cc_raw_e;
401 std::vector<std::vector<float>> t_cc_raw_samp;
402
403 float t_clusEt;
407
408 // AFP protons
409
411 std::vector<double> proton_pt;
412 std::vector<double> proton_eta;
413 std::vector<double> proton_phi;
414 std::vector<double> proton_e;
415 std::vector<int> proton_side;
416 std::vector<double> proton_eLoss;
417 std::vector<double> proton_t;
418 std::vector<std::vector<int>> proton_track_stationID;
419 std::vector<std::vector<float>> proton_track_xLocal;
420 std::vector<std::vector<float>> proton_track_yLocal;
421 std::vector<std::vector<float>> proton_track_zLocal;
422 std::vector<std::vector<float>> proton_track_xSlope;
423 std::vector<std::vector<float>> proton_track_ySlope;
424 std::vector<std::vector<int>> proton_track_nClusters;
425
426 TLorentzVector p_beam;
427 TLorentzVector p_scat;
428
429 // end of Histograms
430
431 // this is a standard constructor
432 ZdcNtuple (const std::string& name, ISvcLocator* pSvcLocator);
433
434 void processEventInfo();
435 void processVInjInfo();
437 uint32_t acceptEvent();
438 void processZdcNtupleFromModules(); // new version directly from output of ZdcAnalysisTool - which is much cleaner
440 void processFCal();
441 void processMBTS();
442 void processInDet();
443 void writeTrack(const xAOD::TrackParticle*, const xAOD::Vertex* vertex, int );
444 int trackQuality(const xAOD::TrackParticle* tp, const xAOD::Vertex* vertex);
445 void processClusters();
446 void reprocessZdcModule(const xAOD::ZdcModule* zdcMod, bool flipdelay=0);
448 void processGaps();
449 void processProtons();
450
451 double dR(const double eta1, const double phi1, const double eta2, const double phi2);
452
453
454 virtual StatusCode initialize () override;
455 virtual StatusCode execute () override;
456 virtual StatusCode finalize () override;
457};
458
459#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
the (new) base class for EventLoop algorithms
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< float > t_cc_raw_phi
Definition ZdcNtuple.h:399
const xAOD::VertexContainer * m_primaryVertices
Definition ZdcNtuple.h:124
float m_gapThresholds[98]
Definition ZdcNtuple.h:330
float t_yCentroidPreGeomCorPreAvgSubtr[2]
Definition ZdcNtuple.h:274
float t_cosDeltaReactionPlaneAngle
Definition ZdcNtuple.h:282
bool reprocZdc
Definition ZdcNtuple.h:82
float t_mbts_timeDiff
Definition ZdcNtuple.h:346
std::vector< double > proton_t
Definition ZdcNtuple.h:417
float t_ZdcModuleFitT0[2][4]
Definition ZdcNtuple.h:221
std::vector< const Trig::ChainGroup * > m_rerunChainGroups
Definition ZdcNtuple.h:140
float t_yCentroid[2]
Definition ZdcNtuple.h:278
std::vector< float > t_cc_pt
Definition ZdcNtuple.h:391
TLorentzVector p_scat
Definition ZdcNtuple.h:427
std::string outputName
Definition ZdcNtuple.h:97
bool enableTriggerJets
Definition ZdcNtuple.h:73
const xAOD::MBTSModuleContainer * m_mbtsModules
Definition ZdcNtuple.h:122
void reprocessZdcModule(const xAOD::ZdcModule *zdcMod, bool flipdelay=0)
float t_RpdChannelPileupStretchedExpFitParamErrs[2][16][3]
Definition ZdcNtuple.h:255
SG::ReadHandleKey< McEventCollection > m_mcEventCollectionName
Definition ZdcNtuple.h:113
short t_ZdcStatus[2]
Definition ZdcNtuple.h:197
std::vector< float > t_ZdcTruthParticlePy
Definition ZdcNtuple.h:212
float t_RpdChannelAmplitudeCalib[2][16]
Definition ZdcNtuple.h:259
uint32_t t_ntrk
Definition ZdcNtuple.h:362
float t_ZdcTruthEM[2]
Definition ZdcNtuple.h:204
float t_totalEt
Definition ZdcNtuple.h:320
unsigned int m_lastRunNumber
Definition ZdcNtuple.h:52
ZdcInjPulserAmpMap::Token m_injMapRunToken
Definition ZdcNtuple.h:53
float t_RPDSubtrAmpSum[2]
Definition ZdcNtuple.h:272
unsigned int t_RpdSideStatus[2]
Definition ZdcNtuple.h:265
float t_ZdcModuleChisqLGRefit[2][4]
Definition ZdcNtuple.h:242
bool enableOutputTree
Definition ZdcNtuple.h:59
float t_clusphiMax
Definition ZdcNtuple.h:406
float t_ZdcModuleT0SubLGRefit[2][4]
Definition ZdcNtuple.h:241
bool pbpb2023
Definition ZdcNtuple.h:88
bool flipDelay
Definition ZdcNtuple.h:81
const xAOD::TriggerTowerContainer * m_TTcontainer
Definition ZdcNtuple.h:129
unsigned short t_ZdcLucrodTriggerAmpLG[2][4]
Definition ZdcNtuple.h:232
bool zdcLaser
Definition ZdcNtuple.h:75
float t_RpdChannelAmplitude[2][16]
Definition ZdcNtuple.h:258
std::vector< uint8_t > t_trk_nPixHoles
Definition ZdcNtuple.h:379
float t_puvxz
Definition ZdcNtuple.h:292
std::vector< uint8_t > t_trk_nSctHoles
Definition ZdcNtuple.h:380
bool trackLimitReject
Definition ZdcNtuple.h:80
uint16_t t_mbts_countA
Definition ZdcNtuple.h:342
float t_fcalEtC
Definition ZdcNtuple.h:314
void processMCEventCollection()
bool lhcf2022afp
Definition ZdcNtuple.h:87
unsigned short t_ZdcLucrodTriggerSideAmp[2]
Definition ZdcNtuple.h:200
unsigned int t_RpdModuleTruthNphotons[2][16]
Definition ZdcNtuple.h:266
const xAOD::ForwardEventInfoContainer * m_mbtsInfo
Definition ZdcNtuple.h:121
bool enableCalo
Definition ZdcNtuple.h:64
bool doZdcCalib
Definition ZdcNtuple.h:94
std::vector< int > t_vx_trk_index
Definition ZdcNtuple.h:287
double dR(const double eta1, const double phi1, const double eta2, const double phi2)
float t_reactionPlaneAngle[2]
Definition ZdcNtuple.h:281
std::vector< std::vector< float > > proton_track_ySlope
Definition ZdcNtuple.h:423
void processZdcNtupleFromModules()
unsigned int t_ZdcModuleMask
Definition ZdcNtuple.h:198
std::vector< float > t_trk_vz
Definition ZdcNtuple.h:370
void processInDet()
std::vector< float > t_trk_pt
Definition ZdcNtuple.h:363
uint32_t t_eventNumber
Definition ZdcNtuple.h:152
float t_RpdChannelPileupExpFitParams[2][16][2]
Definition ZdcNtuple.h:252
bool lhcf2022zdc
Definition ZdcNtuple.h:86
float t_totalEt24
Definition ZdcNtuple.h:322
uint16_t t_raw32[2][4][2][2][32]
Definition ZdcNtuple.h:354
const xAOD::EventInfo * m_eventInfo
Definition ZdcNtuple.h:115
bool enableTruth
Definition ZdcNtuple.h:71
float t_RpdChannelMaxADCCalib[2][16]
Definition ZdcNtuple.h:261
std::vector< int > t_trk_index
Definition ZdcNtuple.h:374
bool enableID
Definition ZdcNtuple.h:63
float t_clusEtMax
Definition ZdcNtuple.h:404
std::vector< std::vector< float > > proton_track_xLocal
Definition ZdcNtuple.h:419
TH1 * h_zdcTriggersTBP
Definition ZdcNtuple.h:148
float t_T2mbts_in_e[2][8]
Definition ZdcNtuple.h:182
uint16_t t_raw7[2][4][2][2][7]
Definition ZdcNtuple.h:351
float t_vInj
Definition ZdcNtuple.h:155
void processClusters()
bool slimmed
Definition ZdcNtuple.h:56
std::vector< const Trig::ChainGroup * > m_chainGroups
Definition ZdcNtuple.h:139
std::vector< float > t_cc_raw_e
Definition ZdcNtuple.h:400
float t_mbts_in_t[2][8]
Definition ZdcNtuple.h:179
std::vector< int16_t > t_vtx_ntrk
Definition ZdcNtuple.h:307
float t_ZdcAmpErr[2]
Definition ZdcNtuple.h:191
int m_scaledownCounter
Definition ZdcNtuple.h:138
float t_vxcov[6]
Definition ZdcNtuple.h:290
float t_RpdChannelMaxADC[2][16]
Definition ZdcNtuple.h:260
float t_ZdcModuleCalibTime[2][4]
Definition ZdcNtuple.h:225
const xAOD::TruthParticleContainer * m_truthParticleContainer
Definition ZdcNtuple.h:128
int m_eventCounter
Definition ZdcNtuple.h:135
uint32_t acceptEvent()
float t_ZdcModulePresample[2][4]
Definition ZdcNtuple.h:229
float t_ZdcNLEnergy[2]
Definition ZdcNtuple.h:194
std::vector< float > t_vtx_sumpt2_all
Definition ZdcNtuple.h:306
const xAOD::HIEventShapeContainer * m_caloSums
Definition ZdcNtuple.h:119
std::vector< int16_t > t_vtx_ntrk_all
Definition ZdcNtuple.h:305
float t_xRowCentroid[2][4]
Definition ZdcNtuple.h:279
unsigned int t_RpdChannelMaxSample[2][16]
Definition ZdcNtuple.h:262
std::vector< float > t_cc_raw_eta
Definition ZdcNtuple.h:398
float t_actIntPerCrossing
Definition ZdcNtuple.h:162
uint64_t t_trigger
Definition ZdcNtuple.h:169
bool t_centroidDecorationsAvailable
Definition ZdcNtuple.h:268
std::vector< std::vector< int16_t > > t_vtx_trk_index
Definition ZdcNtuple.h:309
std::string grlFilename
Definition ZdcNtuple.h:58
std::vector< float > t_trk_eta
Definition ZdcNtuple.h:364
bool enablePhotons
Definition ZdcNtuple.h:69
int t_puvxntrk
Definition ZdcNtuple.h:293
TLorentzVector p_beam
Definition ZdcNtuple.h:426
uint16_t t_raw15[2][4][2][2][15]
Definition ZdcNtuple.h:352
bool lhcf2022
Definition ZdcNtuple.h:85
std::vector< float > t_cc_eta
Definition ZdcNtuple.h:392
TH1 * h_TCSigCut
Definition ZdcNtuple.h:339
uint16_t t_T2mbts_countCin
Definition ZdcNtuple.h:349
virtual StatusCode execute() override
float t_xCentroidPreAvgSubtr[2]
Definition ZdcNtuple.h:275
float t_ZdcTrigEff[2]
Definition ZdcNtuple.h:199
float t_ZdcModuleMinDeriv2nd[2][4]
Definition ZdcNtuple.h:228
std::vector< float > t_trk_vtxz
Definition ZdcNtuple.h:371
float t_RPDChannelSubtrAmp[2][16]
Definition ZdcNtuple.h:271
float t_ZdcNLEnergyErr[2]
Definition ZdcNtuple.h:195
uint32_t t_passBits
Definition ZdcNtuple.h:157
float t_ZdcModuleChisq[2][4]
Definition ZdcNtuple.h:222
std::vector< int8_t > t_vtx_type
Definition ZdcNtuple.h:301
float t_T2mbts_out_e[2][4]
Definition ZdcNtuple.h:183
const xAOD::CaloClusterContainer * m_caloClusters
Definition ZdcNtuple.h:125
std::vector< int > t_cc_layer
Definition ZdcNtuple.h:396
uint8_t t_rpdDecodingError
Definition ZdcNtuple.h:167
float t_ZdcModuleAmpError[2][4]
Definition ZdcNtuple.h:226
bool enableElectrons
Definition ZdcNtuple.h:68
float t_ZdcModuleTime[2][4]
Definition ZdcNtuple.h:219
ToolHandle< InDet::IInDetTrackSelectionTool > m_selTool
Definition ZdcNtuple.h:106
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecisionTool
Definition ZdcNtuple.h:103
TH1 * h_zdcTriggers
Definition ZdcNtuple.h:147
int t_nstrong
Definition ZdcNtuple.h:295
bool enableMuons
Definition ZdcNtuple.h:67
std::vector< float > t_trk_theta
Definition ZdcNtuple.h:367
std::vector< uint8_t > t_trk_ninPixHits
Definition ZdcNtuple.h:385
uint16_t t_T2mbts_countAin
Definition ZdcNtuple.h:348
float t_fcalEtA_TTsum
Definition ZdcNtuple.h:317
bool m_setupTrigHist
Definition ZdcNtuple.h:137
uint32_t t_tav[16]
Definition ZdcNtuple.h:187
std::string zdcConfig
Definition ZdcNtuple.h:95
std::vector< float > t_cc_e
Definition ZdcNtuple.h:394
bool zdcOnly
Definition ZdcNtuple.h:77
float t_mbts_timeC
Definition ZdcNtuple.h:345
float t_ZdcModuleAmpCorrLGRefit[2][4]
Definition ZdcNtuple.h:239
std::vector< float > t_cc_phi
Definition ZdcNtuple.h:393
uint32_t t_nclus
Definition ZdcNtuple.h:390
uint32_t t_tbp[16]
Definition ZdcNtuple.h:188
void processMBTS()
uint16_t t_rpdRaw[2][16][24]
Definition ZdcNtuple.h:357
std::vector< std::vector< int > > proton_track_nClusters
Definition ZdcNtuple.h:424
std::vector< int > proton_side
Definition ZdcNtuple.h:415
uint32_t t_timeStamp
Definition ZdcNtuple.h:159
float t_ZdcModuleTruthTotal[2][7]
Definition ZdcNtuple.h:244
float t_xCentroidPreGeomCorPreAvgSubtr[2]
Definition ZdcNtuple.h:273
float t_ZdcTruthInvis[2]
Definition ZdcNtuple.h:203
float t_ZdcModuleCalibAmp[2][4]
Definition ZdcNtuple.h:224
float t_ZdcModuleFitAmp[2][4]
Definition ZdcNtuple.h:220
float t_fcalEtA
Definition ZdcNtuple.h:313
float t_ZdcModuleAmpLGRefit[2][4]
Definition ZdcNtuple.h:238
float t_vx[3]
Definition ZdcNtuple.h:285
float t_ZdcModulePeakADCLG[2][4]
Definition ZdcNtuple.h:237
unsigned int t_ZdcModuleStatus[2][4]
Definition ZdcNtuple.h:223
float t_mbts_out_t[2][4]
Definition ZdcNtuple.h:180
float t_L1ET24
Definition ZdcNtuple.h:143
float t_ZdcModuleT0LGRefit[2][4]
Definition ZdcNtuple.h:240
void processGaps()
bool enableZDC
Definition ZdcNtuple.h:89
std::vector< uint8_t > t_trk_nPixDead
Definition ZdcNtuple.h:377
std::vector< int8_t > t_trk_charge
Definition ZdcNtuple.h:372
float t_ZdcModuleTruthNonEM[2][7]
Definition ZdcNtuple.h:247
int t_vxnminbias
Definition ZdcNtuple.h:297
float t_ZdcModuleAmp[2][4]
Definition ZdcNtuple.h:218
float t_fcalEtC_TT
Definition ZdcNtuple.h:316
uint32_t t_zdcEventInfoErrorWord
Definition ZdcNtuple.h:164
bool enableTrigger
Definition ZdcNtuple.h:61
float t_ZdcEnergy[2]
Definition ZdcNtuple.h:192
std::vector< std::vector< float > > t_cc_raw_samp
Definition ZdcNtuple.h:401
float t_RpdChannelPileupFrac[2][16]
Definition ZdcNtuple.h:264
bool enableRPDAmp
Definition ZdcNtuple.h:91
std::vector< float > t_ZdcTruthParticlePosy
Definition ZdcNtuple.h:208
std::vector< int16_t > t_trk_quality
Definition ZdcNtuple.h:373
bool enableTracks
Definition ZdcNtuple.h:66
std::vector< uint8_t > t_trk_nSctHits
Definition ZdcNtuple.h:376
uint16_t t_rpdRaw32[2][16][32]
Definition ZdcNtuple.h:358
float t_clusEt
Definition ZdcNtuple.h:403
std::vector< float > t_cc_raw_m
Definition ZdcNtuple.h:397
const xAOD::TrigT2MbtsBitsContainer * m_trigT2MbtsBits
Definition ZdcNtuple.h:123
std::vector< float > t_trk_d0
Definition ZdcNtuple.h:368
size_t nsamplesZdc
Definition ZdcNtuple.h:84
const xAOD::AFPProtonContainer * m_afpProtons
Definition ZdcNtuple.h:130
void writeTrack(const xAOD::TrackParticle *, const xAOD::Vertex *vertex, int)
std::vector< std::vector< float > > proton_track_zLocal
Definition ZdcNtuple.h:421
void processEventInfo()
float t_RpdChannelPileupExpFitParamErrs[2][16][2]
Definition ZdcNtuple.h:254
void processFCal()
std::vector< float > t_trk_z0
Definition ZdcNtuple.h:369
bool t_rerunDecisions[200]
Definition ZdcNtuple.h:175
float t_avgIntPerCrossing
Definition ZdcNtuple.h:161
std::vector< float > t_vtx_x
Definition ZdcNtuple.h:302
float t_ZdcTruthTotal[2]
Definition ZdcNtuple.h:202
const xAOD::TrackParticleContainer * m_trackParticles
Definition ZdcNtuple.h:126
float t_prescales[200]
Definition ZdcNtuple.h:173
bool processTriggerDecision()
float t_ZdcTime[2]
Definition ZdcNtuple.h:196
float t_T2mbts_in_t[2][8]
Definition ZdcNtuple.h:184
std::vector< float > t_vtx_y
Definition ZdcNtuple.h:303
uint32_t t_timeStampNSOffset
Definition ZdcNtuple.h:160
std::vector< float > t_vtx_z
Definition ZdcNtuple.h:304
std::vector< uint8_t > t_trk_nTrtHits
Definition ZdcNtuple.h:381
std::vector< double > proton_pt
Definition ZdcNtuple.h:411
int t_vxtype
Definition ZdcNtuple.h:288
std::vector< int > t_ZdcTruthParticlePid
Definition ZdcNtuple.h:215
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_zdcSumContainerName
Definition ZdcNtuple.h:111
unsigned short t_ZdcLucrodTriggerAmp[2][4]
Definition ZdcNtuple.h:231
void processVInjInfo()
float t_ZdcModuleBkgdMaxFraction[2][4]
Definition ZdcNtuple.h:227
asg::AnaToolHandle< IGoodRunsListSelectionTool > m_grl
Definition ZdcNtuple.h:104
unsigned int t_ZdcModuleTruthNphotons[2][7]
Definition ZdcNtuple.h:249
int nProtons
Definition ZdcNtuple.h:410
std::vector< std::vector< float > > proton_track_yLocal
Definition ZdcNtuple.h:420
std::vector< float > t_vtx_sumpt2
Definition ZdcNtuple.h:308
const xAOD::TrigDecision * m_trigDecision
Definition ZdcNtuple.h:118
std::vector< uint8_t > t_trk_nSctDead
Definition ZdcNtuple.h:378
float t_RpdChannelPileupStretchedExpFitMSE[2][16]
Definition ZdcNtuple.h:257
void processProtons()
std::vector< float > t_trk_pixeldEdx
Definition ZdcNtuple.h:387
float t_yCentroidPreAvgSubtr[2]
Definition ZdcNtuple.h:276
float t_xCentroid[2]
Definition ZdcNtuple.h:277
int t_pvindex
Definition ZdcNtuple.h:289
float t_puvxsumpt
Definition ZdcNtuple.h:294
std::vector< double > proton_eta
Definition ZdcNtuple.h:412
ZdcNtuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition ZdcNtuple.cxx:20
float t_RpdChannelBaseline[2][16]
Definition ZdcNtuple.h:251
float t_fcalEtC_TTsum
Definition ZdcNtuple.h:318
std::vector< float > t_ZdcTruthParticlePx
Definition ZdcNtuple.h:211
std::vector< float > t_trk_phi
Definition ZdcNtuple.h:365
bool enableOutputSamples
Definition ZdcNtuple.h:60
float t_mbts_in_e[2][8]
Definition ZdcNtuple.h:177
std::vector< double > proton_eLoss
Definition ZdcNtuple.h:416
uint16_t t_raw24[2][4][2][2][24]
Definition ZdcNtuple.h:353
bool enableCentroid
Definition ZdcNtuple.h:92
float t_ZdcModulePreSampleAmp[2][4]
Definition ZdcNtuple.h:230
float t_mbts_timeA
Definition ZdcNtuple.h:344
uint16_t t_mbts_countC
Definition ZdcNtuple.h:343
unsigned int t_centroidStatus[2]
Definition ZdcNtuple.h:270
float t_clusetaMax
Definition ZdcNtuple.h:405
float t_ZdcTruthNonEM[2]
Definition ZdcNtuple.h:205
uint8_t t_bunchGroup
Definition ZdcNtuple.h:156
uint32_t t_runNumber
Definition ZdcNtuple.h:151
unsigned int zdcLowGainMode
Definition ZdcNtuple.h:78
float t_edgeGapC
Definition ZdcNtuple.h:327
int t_vxnlooseprimary
Definition ZdcNtuple.h:296
bool enableRPD
Definition ZdcNtuple.h:90
float t_ZdcAmp[2]
Definition ZdcNtuple.h:190
int t_vxngoodmuon
Definition ZdcNtuple.h:298
TTree * m_outputTree
Definition ZdcNtuple.h:150
bool zdcInj
Definition ZdcNtuple.h:76
size_t trackLimit
Definition ZdcNtuple.h:79
const xAOD::EnergySumRoI * m_lvl1EnergySumRoI
Definition ZdcNtuple.h:127
float t_RpdChannelPileupExpFitMSE[2][16]
Definition ZdcNtuple.h:256
std::vector< std::vector< int > > proton_track_stationID
Definition ZdcNtuple.h:418
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_zdcModuleContainerName
Definition ZdcNtuple.h:109
float t_totalEt24_TTsum
Definition ZdcNtuple.h:323
float t_ZdcTruthEscaped[2]
Definition ZdcNtuple.h:206
float t_ZdcModulePeakADCHG[2][4]
Definition ZdcNtuple.h:236
std::shared_ptr< ZdcInjPulserAmpMap > m_zdcInjPulserAmpMap
Definition ZdcNtuple.h:132
std::vector< float > t_ZdcTruthParticleEnergy
Definition ZdcNtuple.h:214
std::vector< double > proton_e
Definition ZdcNtuple.h:414
bool useGRL
Definition ZdcNtuple.h:57
int m_nTriggers
Definition ZdcNtuple.h:134
float t_fcalEtA_TT
Definition ZdcNtuple.h:315
float t_vxsumpt2
Definition ZdcNtuple.h:291
uint32_t t_bcid
Definition ZdcNtuple.h:154
float t_ZdcEnergyErr[2]
Definition ZdcNtuple.h:193
float t_ZdcModuleTruthEM[2][7]
Definition ZdcNtuple.h:246
std::vector< float > t_ZdcTruthParticleTime
Definition ZdcNtuple.h:210
std::vector< uint8_t > t_trk_nPixHits
Definition ZdcNtuple.h:375
uint32_t t_extendedLevel1ID
Definition ZdcNtuple.h:158
unsigned short t_ZdcLucrodTriggerSideAmpLG[2]
Definition ZdcNtuple.h:201
unsigned int t_RpdChannelStatus[2][16]
Definition ZdcNtuple.h:263
float t_L1ET
Definition ZdcNtuple.h:142
uint16_t t_raw40[2][4][2][2][40]
Definition ZdcNtuple.h:355
std::string auxSuffix
Definition ZdcNtuple.h:83
bool writeOnlyTriggers
Definition ZdcNtuple.h:62
std::vector< float > t_ZdcTruthParticlePosz
Definition ZdcNtuple.h:209
char t_centroidEventValid
Definition ZdcNtuple.h:269
bool t_decisions[200]
Definition ZdcNtuple.h:174
bool enableClusters
Definition ZdcNtuple.h:65
asg::AnaToolHandle< ZDC::IZdcAnalysisTool > m_zdcAnalysisTool
Definition ZdcNtuple.h:105
float t_totalEt_TTsum
Definition ZdcNtuple.h:321
std::vector< float > t_ZdcTruthParticlePz
Definition ZdcNtuple.h:213
uint16_t t_rpdRaw40[2][16][40]
Definition ZdcNtuple.h:359
uint32_t t_trigger_TBP
Definition ZdcNtuple.h:170
std::vector< std::vector< float > > proton_track_xSlope
Definition ZdcNtuple.h:422
int t_vxntrk
Definition ZdcNtuple.h:286
bool m_isMC
Definition ZdcNtuple.h:136
void setupTriggerHistos()
std::vector< float > t_ZdcTruthParticlePosx
Definition ZdcNtuple.h:207
int trackQuality(const xAOD::TrackParticle *tp, const xAOD::Vertex *vertex)
float t_yColCentroid[2][4]
Definition ZdcNtuple.h:280
float t_ZdcModuleTruthInvis[2][7]
Definition ZdcNtuple.h:245
std::vector< uint8_t > t_trk_nexPixHits
Definition ZdcNtuple.h:386
float m_gapPtMin
Definition ZdcNtuple.h:328
float t_ZdcModuleMaxADCHG[2][4]
Definition ZdcNtuple.h:234
std::vector< float > t_cc_sig
Definition ZdcNtuple.h:395
std::vector< double > proton_phi
Definition ZdcNtuple.h:413
std::vector< uint8_t > t_trk_inPixHits
Definition ZdcNtuple.h:383
float t_T2mbts_out_t[2][4]
Definition ZdcNtuple.h:185
int outputTreeScaledown
Definition ZdcNtuple.h:98
virtual StatusCode initialize() override
Definition ZdcNtuple.cxx:94
float t_fcalEt
Definition ZdcNtuple.h:312
uint8_t t_zdcEventInfoError
Definition ZdcNtuple.h:163
std::vector< int > t_ZdcTruthParticleStatus
Definition ZdcNtuple.h:216
bool enableTT
Definition ZdcNtuple.h:70
float t_RpdChannelPileupStretchedExpFitParams[2][16][3]
Definition ZdcNtuple.h:253
float t_ZdcModuleMaxADCLG[2][4]
Definition ZdcNtuple.h:235
std::vector< uint8_t > t_trk_nTrtOutliers
Definition ZdcNtuple.h:382
uint32_t t_lumiBlock
Definition ZdcNtuple.h:153
float t_edgeGapA
Definition ZdcNtuple.h:326
bool zdcCalib
Definition ZdcNtuple.h:74
std::vector< float > t_trk_e
Definition ZdcNtuple.h:366
bool enableJets
Definition ZdcNtuple.h:72
const xAOD::HIEventShapeContainer * m_eventShapes
Definition ZdcNtuple.h:120
void processTriggerTowers()
std::vector< uint8_t > t_trk_exPixHits
Definition ZdcNtuple.h:384
float t_ZdcModuleMaxADC[2][4]
Definition ZdcNtuple.h:233
float t_ZdcModuleTruthEscaped[2][7]
Definition ZdcNtuple.h:248
uint8_t t_zdcDecodingError
Definition ZdcNtuple.h:166
virtual StatusCode finalize() override
float t_mbts_out_e[2][4]
Definition ZdcNtuple.h:178
a modified tool handle that allows its owner to configure new tools from the C++ side
AFPProtonContainer_v1 AFPProtonContainer
EventInfo_v1 EventInfo
Definition of the latest event info version.
ZdcModule_v1 ZdcModule
Definition ZdcModule.h:15
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrigDecision_v1 TrigDecision
Define the latest version of the trigger decision class.
ForwardEventInfoContainer_v1 ForwardEventInfoContainer
TriggerTowerContainer_v2 TriggerTowerContainer
Define the latest version of the TriggerTower container.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
EnergySumRoI_v2 EnergySumRoI
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.
MBTSModuleContainer_v1 MBTSModuleContainer