ATLAS Offline Software
TriggerEDMAuxAccessors.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
13 
15 
21 
22 template<typename T, typename ...U>
23 constexpr auto initAccessors(U... names) {
24  return std::array<SG::AuxElement::Accessor<T>, sizeof...(names)>{(SG::AuxElement::Accessor<T>(names))...};
25 }
26 
27 auto boolAccessors = initAccessors<bool>(
28  "hasGenericRoiError", "hasGenericDaqError", "hasCrcTobError", "hasCrcFibreError",
29  "hasCrcDaqError", "hasRoibDaqDifference", "hasRoibCtpDifference", "hasDaqCtpDifference");
30 
31 auto charAccessors = initAccessors<char>(
32  "IP2D_isDefaults", "IP3D_isDefaults", "SV1_isDefaults", "rnnip_isDefaults",
33  "JetFitterSecondaryVertex_isDefaults", "JetFitter_isDefaults", "passPFTrackPresel",
34  "muonCaloTag", "tagFakeTrack", "tagIsoTrack", "tagMuonTrack",
35  "vsi_isFake", "vsi_isPassMMV", "vsi_trkd0cut", "vsi_twoCircErrcut", "vsi_twoCircRcut", "vsi_fastErrcut", "vsi_fastRcut", "vsi_fitErrcut", "vsi_chi2cut",
36  "overflow");
37 
38 auto intAccessors = initAccessors<int>(
39  "SctSpBarrel", "SctSpEndcapA", "SctSpEndcapC", "pixClBarrel", "pixClEndcapA", "pixClEndcapC",
40  "totNumPixCL_1", "totNumPixCL_2", "totNumPixCLmin3", "totNumPixSP", "totNumSctSP", "ntrks",
41  "IP2D_nTrks", "IP3D_nTrks", "JetFitterSecondaryVertex_nTracks", "JetFitter_N2Tpair",
42  "JetFitter_nSingleTracks", "JetFitter_nTracksAtVtx", "JetFitter_nVTX", "JetFitter_ndof",
43  "SV1_N2Tpair", "SV1_NGTinSvx", "seed_et_small", "seed_et_large",
44  "pixCL", "pixCL_1", "pixCL_2", "pixCLmin3", "pixCLBarrel", "pixCLEndcapA", "pixCLEndcapC", "pixCLnoToT",
45  "nCells",
46  "sctSP", "sctSPBarrel", "sctSPEndcapA", "sctSPEndcapC",
47  "zfinder_tool",
48  "hitDV_seed_type","hitDV_n_track_qual",
49  "dEdxTrk_id","dEdxTrk_dedx_n_usedhits",
50  "dEdxTrk_n_hits_innermost","dEdxTrk_n_hits_inner","dEdxTrk_n_hits_pix","dEdxTrk_n_hits_sct",
51  "dEdxHit_trkid","dEdxHit_iblovfl","dEdxHit_loc","dEdxHit_layer","NumPV", "nRoIs",
52  "l1a_type", "other_type", "beforeafterflag","pass");
53 
54 auto int16Accessors = initAccessors<int16_t>("view",
55  "HPtdEdxTrk_n_hdedx_hits_1p45","HPtdEdxTrk_n_hdedx_hits_1p50","HPtdEdxTrk_n_hdedx_hits_1p55","HPtdEdxTrk_n_hdedx_hits_1p60",
56  "HPtdEdxTrk_n_hdedx_hits_1p65","HPtdEdxTrk_n_hdedx_hits_1p70","HPtdEdxTrk_n_hdedx_hits_1p75","HPtdEdxTrk_n_hdedx_hits_1p80",
57  "HPtdEdxTrk_n_hits_innermost","HPtdEdxTrk_n_hits_inner","HPtdEdxTrk_n_hits_pix","HPtdEdxTrk_n_hits_sct",
58  "disTrk_category","disTrk_is_fail","disTrk_n_hits_pix","disTrk_n_hits_sct","disTrk_n_hits_innermost",
59  "disTrkCand_category","disTrkCand_is_fail","disTrkCand_n_hits_innermost","disTrkCand_n_hits_inner","disTrkCand_n_hits_pix","disTrkCand_n_hits_sct",
60  "disTrkCand_refit_n_hits_innermost","disTrkCand_refit_n_hits_inner","disTrkCand_refit_n_hits_pix","disTrkCand_refit_n_hits_sct");
61 
62 auto int32Accessors = initAccessors<int32_t>("roi");
63 
64 auto uint8Accessors = initAccessors<uint8_t>("EBUnbiased");
65 
66 auto uint32Accessors = initAccessors<uint32_t>("alg", "store", "thread", "thash", "slot", "lvl1ID");
67 
68 auto uint64Accessors = initAccessors<uint64_t>("start", "stop", "thresholdPatterns");
69 
70 auto sizeAccessors = initAccessors<size_t>("alg_idx");
71 
72 auto floatAccessors = initAccessors<float>(
73  "EBWeight", "Jvt", "JvtRpt", "IP2D_bc", "IP2D_bu", "IP2D_cu", "IP3D_bc", "IP3D_bu", "IP3D_cu",
74  "ActiveArea", "ActiveArea4vec_eta", "ActiveArea4vec_m", "ActiveArea4vec_phi", "ActiveArea4vec_pt",
75  "JetEtaJESScaleMomentum_eta", "JetEtaJESScaleMomentum_m", "JetEtaJESScaleMomentum_phi", "JetEtaJESScaleMomentum_pt",
76  "JetGSCScaleMomentum_eta", "JetGSCScaleMomentum_m", "JetGSCScaleMomentum_phi", "JetGSCScaleMomentum_pt",
77  "JetPileupScaleMomentum_eta", "JetPileupScaleMomentum_m", "JetPileupScaleMomentum_phi", "JetPileupScaleMomentum_pt",
78  "JetFitterSecondaryVertex_averageAllJetTrackRelativeEta", "JetFitterSecondaryVertex_averageTrackRelativeEta",
79  "JetFitterSecondaryVertex_displacement2d", "JetFitterSecondaryVertex_displacement3d",
80  "JetFitterSecondaryVertex_energy", "JetFitterSecondaryVertex_energyFraction", "JetFitterSecondaryVertex_mass",
81  "JetFitterSecondaryVertex_minimumAllJetTrackRelativeEta", "JetFitterSecondaryVertex_maximumAllJetTrackRelativeEta",
82  "JetFitterSecondaryVertex_minimumTrackRelativeEta", "JetFitterSecondaryVertex_maximumTrackRelativeEta",
83  "JetFitter_chi2", "JetFitter_dRFlightDir", "JetFitter_deltaR", "JetFitter_deltaeta", "JetFitter_deltaphi",
84  "JetFitter_energyFraction", "JetFitter_mass", "JetFitter_massUncorr", "JetFitter_significance3d",
85  "SV1_L3d", "SV1_Lxy", "SV1_deltaR", "SV1_dstToMatLay", "SV1_efracsvx", "SV1_energyTrkInJet",
86  "SV1_masssvx", "SV1_normdist", "SV1_significance3d",
87  "AvgMu",
88  "N90Constituents", "AverageLArQF", "BchCorrCell", "HECQuality", "LArQuality", "NegativeE", "FracSamplingMax",
89  "DL1d20210519r22_pb",
90  "DL1d20210519r22_pc",
91  "DL1d20210519r22_pu",
92  "DL1d20210528r22_pb",
93  "DL1d20210528r22_pc",
94  "DL1d20210528r22_pu",
95  "DL1d20211216_pb",
96  "DL1d20211216_pc",
97  "DL1d20211216_pu",
98  "dips20210517_pb",
99  "dips20210517_pc",
100  "dips20210517_pu",
101  "dipsLoose20210517_pb",
102  "dipsLoose20210517_pc",
103  "dipsLoose20210517_pu",
104  "DL1dv00_pb",
105  "DL1dv00_pc",
106  "DL1dv00_pu",
107  "dipsLoose20210729_pb",
108  "dipsLoose20210729_pc",
109  "dipsLoose20210729_pu",
110  "fastDips_pb",
111  "fastDips_pc",
112  "fastDips_pu",
113  "dl1dbb20230314_pb",
114  "dl1dbb20230314_pbb",
115  "dips20211116_pb",
116  "dips20211116_pc",
117  "dips20211116_pu",
118  "fastDIPS20211215_pb",
119  "fastDIPS20211215_pc",
120  "fastDIPS20211215_pu",
121  "GN220240122_pb",
122  "GN220240122_pc",
123  "GN220240122_pu",
124  "GN120220813_pb",
125  "GN120220813_pc",
126  "GN120220813_pu",
127  "dipz20231122_z",
128  "dipz20231122_negLogSigma2",
129  "fastGN120230327_pb",
130  "fastGN120230327_pc",
131  "fastGN120230327_pu",
132  "fastGN120230331_pb",
133  "fastGN120230331_pc",
134  "fastGN120230331_pu",
135  "GN120230331_pb",
136  "GN120230331_pc",
137  "GN120230331_pu",
138  "fastGN220240122_pb",
139  "fastGN220240122_pc",
140  "fastGN220240122_pu",
141  "tlaGN220240122_pb",
142  "tlaGN220240122_pc",
143  "tlaGN220240122_pu",
144  "GN2Xv01_phbb",
145  "GN2Xv01_ptop",
146  "GN2Xv01_pqcd",
147  "fastGNTau20240216_ptau",
148  "fastGNTau20240216_pu",
149  "DetectorEta", "DetectorPhi",
150  "EMFrac", "HECFrac", "JVFCorr", "seed_eta", "seed_phi", "trk_a0beam",
151  "btagIp_d0", "btagIp_d0Uncertainty", "btagIp_z0SinTheta", "btagIp_z0SinThetaUncertainty",
152  "EOverP", "RErr", "etConeCore", "muonScore", "ptCone20", "trackIso", "trkPtFraction",
153  "zfinder_vtx_z", "zfinder_vtx_weight", "caloIso", "calE", "calEta", "calPhi", "CENTER_MAG",
154  "hitDV_seed_pt","hitDV_seed_eta","hitDV_seed_phi","hitDV_ly0_sp_frac","hitDV_ly1_sp_frac","hitDV_ly2_sp_frac",
155  "hitDV_ly3_sp_frac","hitDV_ly4_sp_frac","hitDV_ly5_sp_frac","hitDV_ly6_sp_frac","hitDV_ly7_sp_frac","hitDV_bdt_score",
156  "dEdxTrk_pt","dEdxTrk_eta","dEdxTrk_phi","dEdxTrk_dedx","dEdxTrk_a0beam",
157  "dEdxHit_dedx","dEdxHit_tot","dEdxHit_trkchi2","dEdxHit_trkndof",
158  "HPtdEdxTrk_pt","HPtdEdxTrk_eta","HPtdEdxTrk_phi","HPtdEdxTrk_dedx","HPtdEdxTrk_a0beam",
159  "disTrk_pt","disTrk_eta","disTrk_phi","disTrk_refit_pt","disTrk_d0_wrtVtx","disTrk_z0_wrtVtx",
160  "disTrk_chi2","disTrk_ndof","disTrk_iso3_dr01","disTrk_iso3_dr02","disTrk_refit_d0_wrtVtx","disTrk_refit_z0_wrtVtx",
161  "disTrk_refit_chi2","disTrk_refit_ndof","disTrk_chi2ndof_pix","disTrk_bdtscore",
162  "disTrkCand_pt","disTrkCand_eta","disTrkCand_phi","disTrkCand_d0","disTrkCand_z0",
163  "disTrkCand_chi2","disTrkCand_ndof","disTrkCand_pt_wrtVtx","disTrkCand_eta_wrtVtx",
164  "disTrkCand_phi_wrtVtx","disTrkCand_d0_wrtVtx","disTrkCand_z0_wrtVtx",
165  "disTrkCand_chi2sum_br_ibl","disTrkCand_chi2sum_br_pix1","disTrkCand_chi2sum_br_pix2","disTrkCand_chi2sum_br_pix3",
166  "disTrkCand_chi2sum_br_sct1","disTrkCand_chi2sum_br_sct2","disTrkCand_chi2sum_br_sct3","disTrkCand_chi2sum_br_sct4",
167  "disTrkCand_ndofsum_br_ibl","disTrkCand_ndofsum_br_pix1","disTrkCand_ndofsum_br_pix2","disTrkCand_ndofsum_br_pix3",
168  "disTrkCand_ndofsum_br_sct1","disTrkCand_ndofsum_br_sct2","disTrkCand_ndofsum_br_sct3","disTrkCand_ndofsum_br_sct4",
169  "disTrkCand_iso1_dr01","disTrkCand_iso1_dr02","disTrkCand_iso2_dr01","disTrkCand_iso2_dr02","disTrkCand_iso3_dr01","disTrkCand_iso3_dr02",
170  "disTrkCand_refit_pt","disTrkCand_refit_eta","disTrkCand_refit_phi","disTrkCand_refit_d0","disTrkCand_refit_z0",
171  "disTrkCand_refit_chi2","disTrkCand_refit_ndof","disTrkCand_refit_pt_wrtVtx","disTrkCand_refit_eta_wrtVtx",
172  "disTrkCand_refit_phi_wrtVtx","disTrkCand_refit_d0_wrtVtx","disTrkCand_refit_z0_wrtVtx",
173  "disTrkCand_refit_chi2sum_br_ibl","disTrkCand_refit_chi2sum_br_pix1","disTrkCand_refit_chi2sum_br_pix2","disTrkCand_refit_chi2sum_br_pix3",
174  "disTrkCand_refit_chi2sum_br_sct1","disTrkCand_refit_chi2sum_br_sct2","disTrkCand_refit_chi2sum_br_sct3","disTrkCand_refit_chi2sum_br_sct4",
175  "disTrkCand_refit_ndofsum_br_ibl","disTrkCand_refit_ndofsum_br_pix1","disTrkCand_refit_ndofsum_br_pix2","disTrkCand_refit_ndofsum_br_pix3",
176  "disTrkCand_refit_ndofsum_br_sct1","disTrkCand_refit_ndofsum_br_sct2","disTrkCand_refit_ndofsum_br_sct3","disTrkCand_refit_ndofsum_br_sct4",
177  "ptcone20", "ptvarcone20", "ptcone30", "ptvarcone30", "etcone20", "topoetcone20","topoetcone40", "Timing",
178  "vsi_mass", "vsi_pT", "vsi_charge",
179  "vsi_twoCirc_dr", "vsi_twoCirc_dphi", "vsi_twoCirc_int_r", "vsi_vrtFast_r", "vsi_vrtFast_eta", "vsi_vrtFast_phi",
180  "vsi_vrtFit_r", "vsi_vrtFit_chi2", "vsi_vPos", "vsi_vPosMomAngT", "vsi_dphi1", "vsi_dphi2",
181  "vsiHypo_nVtx", "vsiHypo_pTcut", "vsiHypo_rCut", "vsiHypo_nTrkCut", "vsiHypo_counts",
182  "eProbabilityNN",
183  "trk_d0","cl_eta2","cl_phi2", "deltaEta1PearDistortion",
184  "ClusterEta", "ClusterPhi",
185  "d0TJVA", "d0SigTJVA", "z0sinthetaTJVA", "z0sinthetaSigTJVA"
186  );
187 
188 auto doubleAccessors = initAccessors<double>("ptcone02", "ptcone03", "JetDensityEMPFlow",
189  "JetDensityEMTopo");
190 
191 auto vboolAccessors = initAccessors<std::vector<bool>>("IP2D_flagFromV0ofTracks", "IP3D_flagFromV0ofTracks");
192 
193 auto vintAccessors = initAccessors<std::vector<int>>(
194  "counts", "IP2D_gradeOfTracks", "IP3D_gradeOfTracks", "NumTrkPt1000", "NumTrkPt500");
195 
196 auto vushortAccessors = initAccessors<std::vector<unsigned short>>("robs_status");
197 
198 auto vuintAccessors = initAccessors<std::vector<unsigned>>("robs_history");
199 
200 auto vuint32Accessors = initAccessors<std::vector<uint32_t>>("robs_id", "robs_size", "PEBROBList", "PEBSubDetList");
201 
202 auto vuint8Accessors = initAccessors<std::vector<uint8_t>>("parameterPosition");
203 
204 auto vfloatAccessors = initAccessors<std::vector<float>>(
205  "IP2D_weightBofTracks", "IP2D_weightCofTracks", "IP2D_weightUofTracks", "IP2D_sigD0wrtPVofTracks",
206  "IP3D_weightBofTracks", "IP3D_weightCofTracks", "IP3D_weightUofTracks", "IP3D_sigD0wrtPVofTracks",
207  "IP3D_sigZ0wrtPVofTracks", "IP3D_valD0wrtPVofTracks", "IP3D_valZ0wrtPVofTracks",
208  "JetFitter_fittedCov", "JetFitter_fittedPosition", "JetFitter_tracksAtPVchi2", "JetFitter_tracksAtPVndf",
209  "EnergyPerSampling", "EnergyPerSamplingCaloBased", "SumPtChargedPFOPt500", "SumPtTrkPt1000", "SumPtTrkPt500", "TrackWidthPt1000",
210  "pTcuts", "z0cuts", "vertexZcuts", "btagIp_trackMomentum", "btagIp_trackDisplacement",
211  "vsi_vrtFast_trkd0", "vsi_vrtFast_trkz0", "parameterPX", "parameterPY", "parameterPZ");
212 
213 auto elroiAccessors = initAccessors<ElementLink<TrigRoiDescriptorCollection>>("viewIndex");
214 
215 auto elbtagAccessors = initAccessors<ElementLink<xAOD::BTaggingContainer>>("btaggingLink");
216 
217 auto eljtauAccessors = initAccessors<ElementLink<xAOD::jFexTauRoIContainer>>("jTauLink");
218 
219 auto veltrkpAccessors = initAccessors<std::vector<ElementLink<xAOD::TrackParticleContainer>>>(
220  "BTagTrackToJetAssociator", "JetFitter_tracksAtPVlinks", "SV1_badTracksIP");
221 
222 auto velbvtxAccessors = initAccessors<std::vector<ElementLink<xAOD::BTagVertexContainer>>>("JetFitter_JFvertices");
223 
224 auto velmuAccessors = initAccessors<std::vector<ElementLink<xAOD::MuonContainer>>>("Muons");
225 
226 auto velvtxAccessors = initAccessors<std::vector<ElementLink<xAOD::VertexContainer>>>("SV1_vertices");
227 
228 auto velipAccessors = initAccessors<std::vector<ElementLink<xAOD::IParticleContainer>>>("GhostTrack_ftf","TracksForMinimalJetTag", "HLT_HIClusters_DR8Assoc");
229 
230 } // namespace TriggerEDMAuxAccessors
TriggerEDMAuxAccessors::velvtxAccessors
auto velvtxAccessors
Definition: TriggerEDMAuxAccessors.h:226
TriggerEDMAuxAccessors::vuint32Accessors
auto vuint32Accessors
Definition: TriggerEDMAuxAccessors.h:200
TriggerEDMAuxAccessors::elbtagAccessors
auto elbtagAccessors
Definition: TriggerEDMAuxAccessors.h:215
TriggerEDMAuxAccessors::int32Accessors
auto int32Accessors
Definition: TriggerEDMAuxAccessors.h:62
TriggerEDMAuxAccessors::eljtauAccessors
auto eljtauAccessors
Definition: TriggerEDMAuxAccessors.h:217
TriggerEDMAuxAccessors::velmuAccessors
auto velmuAccessors
Definition: TriggerEDMAuxAccessors.h:224
TriggerEDMAuxAccessors::vushortAccessors
auto vushortAccessors
Definition: TriggerEDMAuxAccessors.h:196
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:66
TriggerEDMAuxAccessors::velipAccessors
auto velipAccessors
Definition: TriggerEDMAuxAccessors.h:228
TriggerEDMAuxAccessors::boolAccessors
auto boolAccessors
Definition: TriggerEDMAuxAccessors.h:27
TriggerEDMAuxAccessors::vfloatAccessors
auto vfloatAccessors
Definition: TriggerEDMAuxAccessors.h:204
TriggerEDMAuxAccessors::uint32Accessors
auto uint32Accessors
Definition: TriggerEDMAuxAccessors.h:66
TriggerEDMAuxAccessors::vintAccessors
auto vintAccessors
Definition: TriggerEDMAuxAccessors.h:193
TriggerEDMAuxAccessors::sizeAccessors
auto sizeAccessors
Definition: TriggerEDMAuxAccessors.h:70
TriggerEDMAuxAccessors::vuint8Accessors
auto vuint8Accessors
Definition: TriggerEDMAuxAccessors.h:202
jFexTauRoIContainer.h
BTagVertexContainer.h
TriggerEDMAuxAccessors::elroiAccessors
auto elroiAccessors
Definition: TriggerEDMAuxAccessors.h:213
TriggerEDMAuxAccessors::vuintAccessors
auto vuintAccessors
Definition: TriggerEDMAuxAccessors.h:198
TriggerEDMAuxAccessors::vboolAccessors
auto vboolAccessors
Definition: TriggerEDMAuxAccessors.h:191
python.subdetectors.mmg.names
names
Definition: mmg.py:8
IParticleContainer.h
TriggerEDMAuxAccessors::floatAccessors
auto floatAccessors
Definition: TriggerEDMAuxAccessors.h:72
TriggerEDMAuxAccessors::uint64Accessors
auto uint64Accessors
Definition: TriggerEDMAuxAccessors.h:68
TriggerEDMAuxAccessors::veltrkpAccessors
auto veltrkpAccessors
Definition: TriggerEDMAuxAccessors.h:219
BTaggingContainer.h
TriggerEDMAuxAccessors::velbvtxAccessors
auto velbvtxAccessors
Definition: TriggerEDMAuxAccessors.h:222
TriggerEDMAuxAccessors::charAccessors
auto charAccessors
Definition: TriggerEDMAuxAccessors.h:31
TriggerEDMAuxAccessors::uint8Accessors
auto uint8Accessors
Definition: TriggerEDMAuxAccessors.h:64
MuonContainer.h
TriggerEDMAuxAccessors
Instantiate SG::AuxElementAccessor for all decorations in Trigger EDM before they are used in output ...
Definition: TriggerEDMAuxAccessors.h:20
VertexContainer.h
TriggerEDMAuxAccessors::initAccessors
constexpr auto initAccessors(U... names)
Definition: TriggerEDMAuxAccessors.h:23
TriggerEDMAuxAccessors::int16Accessors
auto int16Accessors
Definition: TriggerEDMAuxAccessors.h:54
TriggerEDMAuxAccessors::intAccessors
auto intAccessors
Definition: TriggerEDMAuxAccessors.h:38
TriggerEDMAuxAccessors::doubleAccessors
auto doubleAccessors
Definition: TriggerEDMAuxAccessors.h:188
TrigRoiDescriptorCollection.h
TrackParticleContainer.h
AuxElement.h
Base class for elements of a container that can have aux data.