ATLAS Offline Software
MSVtxValidationAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MSVTXVALIDATIONALG_H
6 #define MSVTXVALIDATIONALG_H
7 
8 #include <memory>
9 #include <vector>
10 #include <string>
11 
12 #include <TLorentzVector.h>
13 #include <TH1.h>
14 #include <TMath.h>
15 
17 #include "StoreGate/ReadHandle.h"
19 
20 #include "GaudiKernel/ToolHandle.h"
21 #include "GaudiKernel/ITHistSvc.h"
22 #include "GaudiKernel/SystemOfUnits.h"
23 
26 
31 #include "xAODMuon/MuonContainer.h"
34 #include "xAODJet/JetContainer.h"
36 
42 
43 
44 namespace defaults {
45  inline constexpr int Int = -99999;
46  inline constexpr float Float = -99999.;
47 }
48 
49 
51  public:
52  // using the AthHistogramAlgorithm constructor which creates a THistSvc, whose pointer is accessible via histSvc()
54 
55  virtual StatusCode initialize() override final;
56  virtual StatusCode execute() override final;
57  virtual StatusCode finalize() override final;
58 
59  private:
60  // ================
61  // input containers
62  // ================
63  SG::ReadHandleKey<xAOD::EventInfo> m_evtKey{this, "EvtKey", "EventInfo"};
64  SG::ReadHandleKey<xAOD::TruthParticleContainer> m_TruthParticleKey{this, "TruthParticleKey", "TruthParticles"};
65  SG::ReadHandleKey<xAOD::TruthVertexContainer> m_TruthVertexKey{this, "TruthVertexKey", "TruthVertices"};
66  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_TrackParticleKey{this, "TrackParticleKey", "InDetTrackParticles"};
67  SG::ReadHandleKey<xAOD::JetContainer> m_JetKey{this, "JetKey", "HLT_AntiKt4EMTopoJets_nojcalib"};
70  SG::ReadHandleKey<xAOD::MuonSegmentContainer> m_MuonSegKey{this, "MuonSegmentsKey", "MuonSegments"};
71  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_TrackletKey{this, "TrackletKey", "MSonlyTracklets"};
72  SG::ReadHandleKey<xAOD::VertexContainer> m_MSVtxKey{this, "MSVertexKey", "MSDisplacedVertex"};
73 
74  // ========
75  // triggers
76  // ========
77  // Tool names are passed from the python configuration
78  PublicToolHandle<Trig::TrigDecisionTool> m_trigDec{this, "TrigDecisionTool", "", "TrigDecisionTool (optional)"};
79  PublicToolHandle<Trig::R3MatchingTool> m_matchingTool{this, "R3MatchingTool", "", "R3MatchingTool (optional)"};
80  // struct for easy passing of trigger decisions
81  struct TriggerInfo {
82  std::string triggerString;
83  std::vector<std::string> names;
84  std::vector<bool> passed;
85  };
86  // jet trigger configuration
87  Gaudi::Property<std::string> m_triggerStringJets{this, "TriggerString", "HLT_j400.*"}; // accepts single trigger name, comma separated list of trigger names, or regex
88  Gaudi::Property<float> m_jetTriggerMatchingDR{this, "jetTriggerMatching", 0.1, "max dR distance for jet trigger matching"};
89 
90 
91  // Algorithm properties
92  Gaudi::Property<bool> m_isMC{this, "isMC", true, "is the input data simulated (MC) or real data?"};
93  Gaudi::Property<bool> m_readTriggers{this, "readTriggers", false, "should trigger information be read?"};
94  // what variables to fill
95  Gaudi::Property<bool> m_dumpTruthParticles{this, "dumpTruthParticles", false, "dump truth particles to the tree"};
96  Gaudi::Property<bool> m_dumpTruthVertices{this, "dumpTruthVertices", false, "dump truth vertices to the tree"};
97  Gaudi::Property<bool> m_fillMET{this, "fillMET", false, "add met information to the tree"};
98  Gaudi::Property<bool> m_fillJets{this, "fillJets", false, "add jet information to the tree"};
99  Gaudi::Property<bool> m_computeActiveVertices{this, "computeActiveVertices", false, "extracts active vertices in the vicinity of a jet by looping through truth particles. Requires isMC."};
100  Gaudi::Property<bool> m_computeVertexIso{this, "computeVertexIso", false, "add vertex isolation variables to the tree"};
101  // truth particles
102  Gaudi::Property<int> m_pdgId_portal{this, "pdgId_portal", 25, "Truth portal PDGId"};
103  Gaudi::Property<int> m_pdgId_llp{this, "pdgId_llp", 35, "Truth LLP PDGId"};
104  Gaudi::Property<bool> m_llp_genStableChildren{this, "llp_genStableChildren", false, "Restricts the TruthParticle-LLP linking to generator stable children rather than detector stable children"};
105  // isolation variables
106  Gaudi::Property<float> m_trackIso_pT{this, "trackIso_pT", 5.0*Gaudi::Units::GeV, "minimum track pT [GeV] to be considered for isolation"};
107  Gaudi::Property<float> m_softTrackIso_R{this, "softTrackIso_R", 0.2, "cone radius around vertex to sum up track pT"};
108  Gaudi::Property<float> m_jetIso_pT{this, "jetIso_pT", 20.0*Gaudi::Units::GeV, "minimum jet pT [GeV] to be considered for isolation"};
109  Gaudi::Property<float> m_jetIso_LogRatio{this, "jetIso_LogRatio", 0.5, "max log ECal/HCal ratio for jet to be considered for isolation"};
110 
111  // ================
112  // filling routines
113  // ================
114  StatusCode fillTruth(const EventContext& ctx);
115  StatusCode fillTruthVertex(const EventContext& ctx);
116  StatusCode fillTruthParticle(const EventContext& ctx);
117  StatusCode fillJet(const EventContext& ctx);
118  StatusCode fillMet(const EventContext& ctx);
119  StatusCode fillMuons(const EventContext& ctx);
120  StatusCode fillTracklets(const EventContext& ctx);
121  StatusCode fillMSVtx(const EventContext& ctx);
122  // filling helpers
123  StatusCode fillLLP(std::vector<const xAOD::TruthParticle*>& llps);
124  void fillHits(const xAOD::Vertex* vtx, const std::string& decorator_str, MuonVal::VectorBranch<int>& branch);
125  TriggerInfo getTriggerDecisions(std::string triggerString);
126  template <typename T>
127  bool getTriggerMatchingDecision(const T* object, TriggerInfo& triggerInfo, float dRmatching);
128  StatusCode fillActiveVertices(const EventContext& ctx, const xAOD::Jet* jet);
130 
131 
132  // ========================================================================
133  // tree and branches
134  // n-tuple branches with kinematics filled in units of GeV
135  // additional variables are added to IParticleFourMomBranch in initialize()
136  // ========================================================================
137  MuonVal::MuonTesterTree m_tree{"MSVtxValidTree", "MSVtxValidation"};
138  using ParticleBranchPtr_t = std::shared_ptr<MuonVal::IParticleFourMomBranch>;
139 
140  // truth vertex
141  // taken from https://geant4.kek.jp/lxr/source/processes/hadronic/management/include/G4HadronicProcessType.hh#L46
142  std::unordered_set<int> m_hadronicProcessEnum = {111, 116, 121, 131, 132, 141, 151, 152, 161, 165, 166, 167, 210, 310};
143  // taken from https://geant4.kek.jp/lxr/source/processes/electromagnetic/utils/include/G4EmProcessSubType.hh#L43
144  std::unordered_set<int> m_emProcessEnum = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,30,31,40,49};
147  MuonVal::VectorBranch<int>& m_truthVtx_interactionType{m_tree.newVector<int>("truthVtx_ interactionType")}; // 0 for hadronic, 1 for EM, -1 for other
148  MuonVal::VectorBranch<int>& m_truthVtx_NchildrenDirect{m_tree.newVector<int>("truthVtx_NchildrenDirect")}; // number of outgoing particles from the vertex
149  MuonVal::VectorBranch<int>& m_truthVtx_Nchildren{m_tree.newVector<int>("truthVtx_Nchildren")}; // number of detector stable decay products
150  MuonVal::VectorBranch<int>& m_truthVtx_NchildrenCharged{m_tree.newVector<int>("truthVtx_NchildrenCharged")}; // number of charged detector stable decay products
152 
153  // truth particles
156  std::unique_ptr<std::vector<int>> m_truthParticle_llpVtx_link_tmp = std::make_unique<std::vector<int>>(); // temporary vector to hold the vertex link information before filling the branch
158  std::unique_ptr<std::vector<int>> m_truthParticle_actVtx_link_tmp = std::make_unique<std::vector<int>>();
160  std::unique_ptr<std::vector<int>> m_truthParticle_truthVtx_link_tmp = std::make_unique<std::vector<int>>();
161 
162  // portal particle
165 
166  // truth LLPs and their children
171 
172  // truth displaced vertex
178 
179  // reconstructed MS vertex
185  // hits near the vertex
204  // vertex isolation variables
208 
209  // tracklets
221 
222  // muon segments
223  std::shared_ptr<MuonPRDTest::SegmentVariables> m_muonSeg{nullptr};
224 
225  // muons
227 
228  // jet
234 
235  // active vertices associated to jets
247 
248  // met
254 
255 
256  // ==========
257  // histograms
258  // ==========
259  TH1F* m_h_LLP1LLP2dR{nullptr};
260  TH1F* m_h_diLLPMass{nullptr};
261  TH1F* m_h_leadLLPLxy{nullptr};
262  TH1F* m_h_leadLLPLz{nullptr};
264  TH1F* m_h_leadLLPpt{nullptr};
269 };
270 
271 #endif // MSVTXVALIDATIONALG_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MSVtxValidationAlg::fillActiveVertices
StatusCode fillActiveVertices(const EventContext &ctx, const xAOD::Jet *jet)
Definition: MSVtxValidationAlg.cxx:346
MSVtxValidationAlg::TriggerInfo::names
std::vector< std::string > names
Definition: MSVtxValidationAlg.h:83
MSVtxValidationAlg::TriggerInfo
Definition: MSVtxValidationAlg.h:81
MSVtxValidationAlg::m_llpVtx_pos
MuonVal::ThreeVectorBranch m_llpVtx_pos
Definition: MSVtxValidationAlg.h:173
MSVtxValidationAlg::m_h_subleadLLPLz
TH1F * m_h_subleadLLPLz
Definition: MSVtxValidationAlg.h:266
MSVtxValidationAlg::m_truthVtx_truthParticle_link
MuonVal::MatrixBranch< int > & m_truthVtx_truthParticle_link
Definition: MSVtxValidationAlg.h:151
MSVtxValidationAlg::m_msVtx_nTGC
MuonVal::VectorBranch< int > & m_msVtx_nTGC
Definition: MSVtxValidationAlg.h:198
MSVtxValidationAlg::m_truthParticle_llpVtx_link_tmp
std::unique_ptr< std::vector< int > > m_truthParticle_llpVtx_link_tmp
Definition: MSVtxValidationAlg.h:156
MSVtxValidationAlg::m_trklet_q
MuonVal::VectorBranch< float > & m_trklet_q
Definition: MSVtxValidationAlg.h:219
MSVtxValidationAlg::m_softTrackIso_R
Gaudi::Property< float > m_softTrackIso_R
Definition: MSVtxValidationAlg.h:107
MSVtxValidationAlg::m_h_leadLLPpt
TH1F * m_h_leadLLPpt
Definition: MSVtxValidationAlg.h:264
MSVtxValidationAlg::m_MuonSegKey
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_MuonSegKey
Definition: MSVtxValidationAlg.h:70
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
AthHistogramAlgorithm::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition: AthHistogramAlgorithm.cxx:31
MSVtxValidationAlg::m_readTriggers
Gaudi::Property< bool > m_readTriggers
Definition: MSVtxValidationAlg.h:93
defaults::Int
constexpr int Int
Definition: MSVtxValidationAlg.h:45
MSVtxValidationAlg::m_truthParticle_truthVtx_link
MuonVal::VectorBranch< int > & m_truthParticle_truthVtx_link
Definition: MSVtxValidationAlg.h:159
MSVtxValidationAlg::m_msVtx_chi2
MuonVal::VectorBranch< float > & m_msVtx_chi2
Definition: MSVtxValidationAlg.h:182
MSVtxValidationAlg::m_tree
MuonVal::MuonTesterTree m_tree
Definition: MSVtxValidationAlg.h:137
MSVtxValidationAlg::m_truthParticle_actVtx_link_tmp
std::unique_ptr< std::vector< int > > m_truthParticle_actVtx_link_tmp
Definition: MSVtxValidationAlg.h:158
MSVtxValidationAlg::m_muonSeg
std::shared_ptr< MuonPRDTest::SegmentVariables > m_muonSeg
Definition: MSVtxValidationAlg.h:223
MSVtxValidationAlg::m_portal
ParticleBranchPtr_t m_portal
Definition: MSVtxValidationAlg.h:163
MSVtxValidationAlg::fillTruthParticle
StatusCode fillTruthParticle(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:131
MSVtxValidationAlg::m_actVtx_jet_dPhi
MuonVal::VectorBranch< float > & m_actVtx_jet_dPhi
Definition: MSVtxValidationAlg.h:245
MSVtxValidationAlg::fillTruth
StatusCode fillTruth(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:123
MSVtxValidationAlg::getTriggerMatchingDecision
bool getTriggerMatchingDecision(const T *object, TriggerInfo &triggerInfo, float dRmatching)
Definition: MSVtxValidationAlg.cxx:331
MSVtxValidationAlg::m_truthParticle_truthVtx_link_tmp
std::unique_ptr< std::vector< int > > m_truthParticle_truthVtx_link_tmp
Definition: MSVtxValidationAlg.h:160
MSVtxValidationAlg::m_h_subleadLLPctau
TH1F * m_h_subleadLLPctau
Definition: MSVtxValidationAlg.h:267
MSVtxValidationAlg::m_actVtx_pT
MuonVal::VectorBranch< float > & m_actVtx_pT
Definition: MSVtxValidationAlg.h:241
MSVtxValidationAlg::m_computeVertexIso
Gaudi::Property< bool > m_computeVertexIso
Definition: MSVtxValidationAlg.h:100
MSVtxValidationAlg::m_portal_N
MuonVal::ScalarBranch< int > & m_portal_N
Definition: MSVtxValidationAlg.h:164
IParticleFourMomBranch.h
MSVtxValidationAlg::finalize
virtual StatusCode finalize() override final
Definition: MSVtxValidationAlg.cxx:544
MSVtxValidationAlg::m_truthVtx_NchildrenCharged
MuonVal::VectorBranch< int > & m_truthVtx_NchildrenCharged
Definition: MSVtxValidationAlg.h:150
MSVtxValidationAlg::m_TrackParticleKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackParticleKey
Definition: MSVtxValidationAlg.h:66
TruthVertexContainer.h
MSVtxValidationAlg::m_msVtx_nTGC_M
MuonVal::VectorBranch< int > & m_msVtx_nTGC_M
Definition: MSVtxValidationAlg.h:202
TruthParticleContainer.h
MSVtxValidationAlg::m_msVtx_Ntrklet
MuonVal::VectorBranch< int > & m_msVtx_Ntrklet
Definition: MSVtxValidationAlg.h:184
MSVtxValidationAlg::m_met_y
MuonVal::ScalarBranch< float > & m_met_y
Definition: MSVtxValidationAlg.h:251
MSVtxValidationAlg::m_msVtx_nRPC_M
MuonVal::VectorBranch< int > & m_msVtx_nRPC_M
Definition: MSVtxValidationAlg.h:196
MSVtxValidationAlg::m_met_phi
MuonVal::ScalarBranch< float > & m_met_phi
Definition: MSVtxValidationAlg.h:252
MSVtxValidationAlg::m_msVtx_nRPC_E
MuonVal::VectorBranch< int > & m_msVtx_nRPC_E
Definition: MSVtxValidationAlg.h:195
MSVtxValidationAlg::m_actVtx_jet_dEta
MuonVal::VectorBranch< float > & m_actVtx_jet_dEta
Definition: MSVtxValidationAlg.h:244
MSVtxValidationAlg::m_llpVtx_Lxy
MuonVal::VectorBranch< float > & m_llpVtx_Lxy
Definition: MSVtxValidationAlg.h:175
defaults
Definition: MSVtxValidationAlg.h:44
defineDB.jets
jets
Definition: JetTagCalibration/share/defineDB.py:24
MSVtxValidationAlg::ParticleBranchPtr_t
std::shared_ptr< MuonVal::IParticleFourMomBranch > ParticleBranchPtr_t
Definition: MSVtxValidationAlg.h:138
MSVtxValidationAlg::m_jet_actVtx_link
MuonVal::MatrixBranch< int > & m_jet_actVtx_link
Definition: MSVtxValidationAlg.h:233
MSVtxValidationAlg::fillMSVtx
StatusCode fillMSVtx(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:443
MSVtxValidationAlg::m_JetKey
SG::ReadHandleKey< xAOD::JetContainer > m_JetKey
Definition: MSVtxValidationAlg.h:67
TrigDecisionTool.h
MSVtxValidationAlg::m_llpVtx_N
MuonVal::ScalarBranch< int > & m_llpVtx_N
Definition: MSVtxValidationAlg.h:174
EventInfoBranch.h
defaults::Float
constexpr float Float
Definition: MSVtxValidationAlg.h:46
MSVtxValidationAlg::m_truthParticle
ParticleBranchPtr_t m_truthParticle
Definition: MSVtxValidationAlg.h:154
MuonVal::VectorBranch< int >
MuonTesterTree.h
MSVtxValidationAlg::m_msVtx_nMDT_M
MuonVal::VectorBranch< int > & m_msVtx_nMDT_M
Definition: MSVtxValidationAlg.h:190
MSVtxValidationAlg::m_MSVtxKey
SG::ReadHandleKey< xAOD::VertexContainer > m_MSVtxKey
Definition: MSVtxValidationAlg.h:72
ThreeVectorBranch.h
MSVtxValidationAlg::m_truthVtx_status
MuonVal::VectorBranch< int > & m_truthVtx_status
Definition: MSVtxValidationAlg.h:146
MSVtxValidationAlg::m_msVtx_nTGC_inwards
MuonVal::VectorBranch< int > & m_msVtx_nTGC_inwards
Definition: MSVtxValidationAlg.h:199
SG::ReadHandleKey< xAOD::EventInfo >
MSVtxValidationAlg::m_actVtx_mass
MuonVal::VectorBranch< float > & m_actVtx_mass
Definition: MSVtxValidationAlg.h:240
MSVtxValidationAlg::m_trackIso_pT
Gaudi::Property< float > m_trackIso_pT
Definition: MSVtxValidationAlg.h:106
MSVtxValidationAlg::m_jet
ParticleBranchPtr_t m_jet
Definition: MSVtxValidationAlg.h:229
MSVtxValidationAlg::m_msVtx_nTGC_E
MuonVal::VectorBranch< int > & m_msVtx_nTGC_E
Definition: MSVtxValidationAlg.h:201
MSVtxValidationAlg::fillJet
StatusCode fillJet(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:291
MuonVal::ThreeVectorBranch
Definition: ThreeVectorBranch.h:19
MSVtxValidationAlg::m_met_x
MuonVal::ScalarBranch< float > & m_met_x
Definition: MSVtxValidationAlg.h:250
MSVtxValidationAlg::m_trklet_z0
MuonVal::VectorBranch< float > & m_trklet_z0
Definition: MSVtxValidationAlg.h:214
MSVtxValidationAlg::m_msVtx_isoJets_mindR
MuonVal::VectorBranch< float > & m_msVtx_isoJets_mindR
Definition: MSVtxValidationAlg.h:207
MSVtxValidationAlg::m_met
MuonVal::ScalarBranch< float > & m_met
Definition: MSVtxValidationAlg.h:249
MuonSegmentContainer.h
AthHistogramAlgorithm.h
MSVtxValidationAlg::m_llpVtx_truthParticle_link
MuonVal::MatrixBranch< int > & m_llpVtx_truthParticle_link
Definition: MSVtxValidationAlg.h:177
MSVtxValidationAlg::m_truthVtx_Nchildren
MuonVal::VectorBranch< int > & m_truthVtx_Nchildren
Definition: MSVtxValidationAlg.h:149
MSVtxValidationAlg::m_msVtx_nRPC_I
MuonVal::VectorBranch< int > & m_msVtx_nRPC_I
Definition: MSVtxValidationAlg.h:194
MSVtxValidationAlg::m_llp_Nchildren
MuonVal::VectorBranch< int > & m_llp_Nchildren
Definition: MSVtxValidationAlg.h:169
MSVtxValidationAlg::m_truthParticle_llpVtx_link
MuonVal::VectorBranch< int > & m_truthParticle_llpVtx_link
Definition: MSVtxValidationAlg.h:155
MSVtxValidationAlg::m_actVtx_energy
MuonVal::VectorBranch< float > & m_actVtx_energy
Definition: MSVtxValidationAlg.h:239
MSVtxValidationAlg::m_fillMET
Gaudi::Property< bool > m_fillMET
Definition: MSVtxValidationAlg.h:97
MSVtxValidationAlg::m_msVtx_nDoF
MuonVal::VectorBranch< int > & m_msVtx_nDoF
Definition: MSVtxValidationAlg.h:183
MSVtxValidationAlg::m_msVtx_nRPC
MuonVal::VectorBranch< int > & m_msVtx_nRPC
Definition: MSVtxValidationAlg.h:192
MSVtxValidationAlg::m_jet_triggers
MuonVal::VectorBranch< int > & m_jet_triggers
Definition: MSVtxValidationAlg.h:231
MSVtxValidationAlg::m_trklet_pos
MuonVal::ThreeVectorBranch m_trklet_pos
Definition: MSVtxValidationAlg.h:210
MSVtxValidationAlg::m_msVtx_nMDT_inwards
MuonVal::VectorBranch< int > & m_msVtx_nMDT_inwards
Definition: MSVtxValidationAlg.h:187
MSVtxValidationAlg::m_TruthVertexKey
SG::ReadHandleKey< xAOD::TruthVertexContainer > m_TruthVertexKey
Definition: MSVtxValidationAlg.h:65
MSVtxValidationAlg::m_trklet_theta
MuonVal::VectorBranch< float > & m_trklet_theta
Definition: MSVtxValidationAlg.h:215
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
MSVtxValidationAlg::m_pdgId_portal
Gaudi::Property< int > m_pdgId_portal
Definition: MSVtxValidationAlg.h:102
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
MSVtxValidationAlg::m_llp
ParticleBranchPtr_t m_llp
Definition: MSVtxValidationAlg.h:167
MSVtxValidationAlg::m_jetIso_pT
Gaudi::Property< float > m_jetIso_pT
Definition: MSVtxValidationAlg.h:108
MSVtxValidationAlg::m_actVtx_jet_link
MuonVal::VectorBranch< int > & m_actVtx_jet_link
Definition: MSVtxValidationAlg.h:243
MSVtxValidationAlg::m_msVtx_N
MuonVal::ScalarBranch< int > & m_msVtx_N
Definition: MSVtxValidationAlg.h:181
MSVtxValidationAlg::m_llp_genStableChildren
Gaudi::Property< bool > m_llp_genStableChildren
Definition: MSVtxValidationAlg.h:104
MSVtxValidationAlg::m_msVtx_isoTracks_pTsum
MuonVal::VectorBranch< float > & m_msVtx_isoTracks_pTsum
Definition: MSVtxValidationAlg.h:206
MSVtxValidationAlg::execute
virtual StatusCode execute() override final
Definition: MSVtxValidationAlg.cxx:520
MSVtxValidationAlg::m_h_LLP1LLP2dR
TH1F * m_h_LLP1LLP2dR
Definition: MSVtxValidationAlg.h:259
MSVtxValidationAlg::m_emProcessEnum
std::unordered_set< int > m_emProcessEnum
Definition: MSVtxValidationAlg.h:144
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MSVtxValidationAlg::initialize
virtual StatusCode initialize() override final
Definition: MSVtxValidationAlg.cxx:14
MSVtxValidationAlg::m_truthVtx_NchildrenDirect
MuonVal::VectorBranch< int > & m_truthVtx_NchildrenDirect
Definition: MSVtxValidationAlg.h:148
MSVtxValidationAlg::m_MuonKey
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonKey
Definition: MSVtxValidationAlg.h:69
MSVtxValidationAlg::m_msVtx_nMDT_O
MuonVal::VectorBranch< int > & m_msVtx_nMDT_O
Definition: MSVtxValidationAlg.h:191
MSVtxValidationAlg::m_msVtx_nTGC_I
MuonVal::VectorBranch< int > & m_msVtx_nTGC_I
Definition: MSVtxValidationAlg.h:200
MSVtxValidationAlg::fillMuons
StatusCode fillMuons(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:404
MSVtxValidationAlg::m_sumEt
MuonVal::ScalarBranch< float > & m_sumEt
Definition: MSVtxValidationAlg.h:253
MSVtxValidationAlg
Definition: MSVtxValidationAlg.h:50
MSVtxValidationAlg::m_llp_NchildrenCharged
MuonVal::VectorBranch< int > & m_llp_NchildrenCharged
Definition: MSVtxValidationAlg.h:170
MSVtxValidationAlg::fillMSVtxIsolation
StatusCode fillMSVtxIsolation(const xAOD::Vertex *msVtx, const xAOD::TrackParticleContainer *tracks, const xAOD::JetContainer *jets)
Definition: MSVtxValidationAlg.cxx:509
MSVtxValidationAlg::fillTruthVertex
StatusCode fillTruthVertex(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:246
MSVtxValidationAlg::m_computeActiveVertices
Gaudi::Property< bool > m_computeActiveVertices
Definition: MSVtxValidationAlg.h:99
MSVtxValidationAlg::m_msVtx_nMDT
MuonVal::VectorBranch< int > & m_msVtx_nMDT
Definition: MSVtxValidationAlg.h:186
MSVtxValidationAlg::m_matchingTool
PublicToolHandle< Trig::R3MatchingTool > m_matchingTool
Definition: MSVtxValidationAlg.h:79
MSVtxValidationAlg::m_llp_N
MuonVal::ScalarBranch< int > & m_llp_N
Definition: MSVtxValidationAlg.h:168
MSVtxValidationAlg::m_trklet_d0
MuonVal::VectorBranch< float > & m_trklet_d0
Definition: MSVtxValidationAlg.h:213
MuonVal::MuonTesterTree::newVector
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
MSVtxValidationAlg::m_actVtx_pos
MuonVal::ThreeVectorBranch m_actVtx_pos
Definition: MSVtxValidationAlg.h:236
MSVtxValidationAlg::m_jet_N
MuonVal::ScalarBranch< int > & m_jet_N
Definition: MSVtxValidationAlg.h:230
MSVtxValidationAlg::m_actVtx_NChildren
MuonVal::VectorBranch< int > & m_actVtx_NChildren
Definition: MSVtxValidationAlg.h:237
MSVtxValidationAlg::TriggerInfo::triggerString
std::string triggerString
Definition: MSVtxValidationAlg.h:82
MSVtxValidationAlg::m_msVtx_isoTracks_mindR
MuonVal::VectorBranch< float > & m_msVtx_isoTracks_mindR
Definition: MSVtxValidationAlg.h:205
MSVtxValidationAlg::m_msVtx_nMDT_E
MuonVal::VectorBranch< int > & m_msVtx_nMDT_E
Definition: MSVtxValidationAlg.h:189
MSVtxValidationAlg::m_jetIso_LogRatio
Gaudi::Property< float > m_jetIso_LogRatio
Definition: MSVtxValidationAlg.h:109
MSVtxValidationAlg::m_trklet_phi
MuonVal::VectorBranch< float > & m_trklet_phi
Definition: MSVtxValidationAlg.h:217
TriggerInfo
This class contains trigger related information.
Definition: TriggerInfo.h:77
MuonVal::ScalarBranch< int >
MSVtxValidationAlg::m_hadronicProcessEnum
std::unordered_set< int > m_hadronicProcessEnum
Definition: MSVtxValidationAlg.h:142
MSVtxValidationAlg::m_h_diLLPMass
TH1F * m_h_diLLPMass
Definition: MSVtxValidationAlg.h:260
MSVtxValidationAlg::m_TruthParticleKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_TruthParticleKey
Definition: MSVtxValidationAlg.h:64
MuonVal::MuonTesterTree::newScalar
ScalarBranch< T > & newScalar(const std::string &name)
MSVtxValidationAlg::m_trklet_vtxLink
MuonVal::VectorBranch< int > & m_trklet_vtxLink
Definition: MSVtxValidationAlg.h:220
MSVtxValidationAlg::m_msVtx_nRPC_O
MuonVal::VectorBranch< int > & m_msVtx_nRPC_O
Definition: MSVtxValidationAlg.h:197
MSVtxValidationAlg::m_llpVtx_ctau
MuonVal::VectorBranch< float > & m_llpVtx_ctau
Definition: MSVtxValidationAlg.h:176
MSVtxValidationAlg::m_pdgId_llp
Gaudi::Property< int > m_pdgId_llp
Definition: MSVtxValidationAlg.h:103
MSVtxValidationAlg::m_msVtx_nMDT_I
MuonVal::VectorBranch< int > & m_msVtx_nMDT_I
Definition: MSVtxValidationAlg.h:188
MSVtxValidationAlg::m_evtKey
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
Definition: MSVtxValidationAlg.h:63
EventInfo.h
MSVtxValidationAlg::TriggerInfo::passed
std::vector< bool > passed
Definition: MSVtxValidationAlg.h:84
MuonContainer.h
MSVtxValidationAlg::m_msVtx_pos
MuonVal::ThreeVectorBranch m_msVtx_pos
Definition: MSVtxValidationAlg.h:180
MSVtxValidationAlg::m_truthVtx_interactionType
MuonVal::VectorBranch< int > & m_truthVtx_interactionType
Definition: MSVtxValidationAlg.h:147
MSVtxValidationAlg::m_MetKey
SG::ReadHandleKey< xAOD::MissingETContainer > m_MetKey
Definition: MSVtxValidationAlg.h:68
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
MSVtxValidationAlg::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: MSVtxValidationAlg.h:78
MSVtxValidationAlg::m_muon
ParticleBranchPtr_t m_muon
Definition: MSVtxValidationAlg.h:226
RTTAlgmain.branch
branch
Definition: RTTAlgmain.py:61
MSVtxValidationAlg::m_h_subleadLLPpt
TH1F * m_h_subleadLLPpt
Definition: MSVtxValidationAlg.h:268
MSVtxValidationAlg::m_truthVtx_pos
MuonVal::ThreeVectorBranch m_truthVtx_pos
Definition: MSVtxValidationAlg.h:145
VertexContainer.h
MSVtxValidationAlg::getTriggerDecisions
TriggerInfo getTriggerDecisions(std::string triggerString)
Definition: MSVtxValidationAlg.cxx:315
MSVtxValidationAlg::m_trklet_eta
MuonVal::VectorBranch< float > & m_trklet_eta
Definition: MSVtxValidationAlg.h:216
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
JetContainer.h
MuonVal::MatrixBranch< int >
MSVtxValidationAlg::m_trklet_qOverP
MuonVal::VectorBranch< float > & m_trklet_qOverP
Definition: MSVtxValidationAlg.h:218
MSVtxValidationAlg::m_msVtx_nTGC_O
MuonVal::VectorBranch< int > & m_msVtx_nTGC_O
Definition: MSVtxValidationAlg.h:203
MSVtxValidationAlg::m_triggerStringJets
Gaudi::Property< std::string > m_triggerStringJets
Definition: MSVtxValidationAlg.h:87
MSVtxValidationAlg::m_h_leadLLPLz
TH1F * m_h_leadLLPLz
Definition: MSVtxValidationAlg.h:262
MSVtxValidationAlg::fillHits
void fillHits(const xAOD::Vertex *vtx, const std::string &decorator_str, MuonVal::VectorBranch< int > &branch)
Definition: MSVtxValidationAlg.cxx:500
R3MatchingTool.h
SegmentVariables.h
MSVtxValidationAlg::m_actVtx_chainDepth
MuonVal::VectorBranch< int > & m_actVtx_chainDepth
Definition: MSVtxValidationAlg.h:238
MSVtxValidationAlg::m_trklet_N
MuonVal::ScalarBranch< int > & m_trklet_N
Definition: MSVtxValidationAlg.h:212
MuonVal::MuonTesterTree::newMatrix
MatrixBranch< T > & newMatrix(const std::string &name)
MSVtxValidationAlg::m_trklet_mom
MuonVal::ThreeVectorBranch m_trklet_mom
Definition: MSVtxValidationAlg.h:211
MSVtxValidationAlg::m_h_subleadLLPLxy
TH1F * m_h_subleadLLPLxy
Definition: MSVtxValidationAlg.h:265
MSVtxValidationAlg::m_actVtx_truthParticle_link
MuonVal::MatrixBranch< int > & m_actVtx_truthParticle_link
Definition: MSVtxValidationAlg.h:246
MSVtxValidationAlg::m_msVtx_nRPC_inwards
MuonVal::VectorBranch< int > & m_msVtx_nRPC_inwards
Definition: MSVtxValidationAlg.h:193
MSVtxValidationAlg::m_actVtx_scalarPtSum
MuonVal::VectorBranch< float > & m_actVtx_scalarPtSum
Definition: MSVtxValidationAlg.h:242
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
MSVtxValidationAlg::m_h_leadLLPLxy
TH1F * m_h_leadLLPLxy
Definition: MSVtxValidationAlg.h:261
MSVtxValidationAlg::m_jetTriggerMatchingDR
Gaudi::Property< float > m_jetTriggerMatchingDR
Definition: MSVtxValidationAlg.h:88
ReadHandle.h
Handle class for reading from StoreGate.
MSVtxValidationAlg::m_dumpTruthVertices
Gaudi::Property< bool > m_dumpTruthVertices
Definition: MSVtxValidationAlg.h:96
MSVtxValidationAlg::m_dumpTruthParticles
Gaudi::Property< bool > m_dumpTruthParticles
Definition: MSVtxValidationAlg.h:95
MSVtxValidationAlg::m_TrackletKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackletKey
Definition: MSVtxValidationAlg.h:71
MSVtxValidationAlg::fillLLP
StatusCode fillLLP(std::vector< const xAOD::TruthParticle * > &llps)
Definition: MSVtxValidationAlg.cxx:170
MSVtxValidationAlg::fillTracklets
StatusCode fillTracklets(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:414
MSVtxValidationAlg::m_jet_NactVtx
MuonVal::VectorBranch< int > & m_jet_NactVtx
Definition: MSVtxValidationAlg.h:232
MissingETContainer.h
MSVtxValidationAlg::fillMet
StatusCode fillMet(const EventContext &ctx)
Definition: MSVtxValidationAlg.cxx:390
TrackParticleContainer.h
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
MSVtxValidationAlg::m_fillJets
Gaudi::Property< bool > m_fillJets
Definition: MSVtxValidationAlg.h:98
MSVtxValidationAlg::m_truthParticle_actVtx_link
MuonVal::VectorBranch< int > & m_truthParticle_actVtx_link
Definition: MSVtxValidationAlg.h:157
MSVtxValidationAlg::m_h_leadLLPctau
TH1F * m_h_leadLLPctau
Definition: MSVtxValidationAlg.h:263
MSVtxValidationAlg::m_isMC
Gaudi::Property< bool > m_isMC
Definition: MSVtxValidationAlg.h:92