ATLAS Offline Software
TrigR3Mon.h
Go to the documentation of this file.
1 
12 #ifndef TIDAEXAMPLE_TRIGR3MON_H
13 #define TIDAEXAMPLE_TRIGR3MON_H
14 
15 #include "GaudiKernel/ToolHandle.h"
19 
20 #include <string>
21 
26 
33 
35 
37 
38 
39 public:
40 
41  TrigR3Mon( const std::string & name, ISvcLocator* pSvcLocator);
42 
43  virtual ~TrigR3Mon();
44 
45  virtual StatusCode initialize() override;
46  virtual StatusCode fillHistograms(const EventContext &context) const override;
47  virtual StatusCode finalize() override;
48 
49  virtual StatusCode bookHistograms();
50 
51  void addMonGroupFromBase( const std::string& ) { }
52 
53 protected:
54 
55  // track selector cuts
56 
57  // test tracks
58  double m_pTCut;
59  double m_etaCut;
60  double m_d0Cut;
61  double m_z0Cut;
62 
63  int m_siHits; // total number of si hits
64  int m_pixHits; // pixel hits
65  int m_sctHits; // sct hits
66 
67  int m_trtHits; // high threshold hits
68  int m_strawHits; // total number of straws
69 
70  // reference tracks
78 
79  int m_siHitsOffline; // total number of si hits
80  int m_pixHitsOffline; // pixel hits
81  int m_sctHitsOffline; // sct hits
83 
84  int m_pixHolesOffline; // pixel holes
85  int m_sctHolesOffline; // sct holes
86  int m_siHolesOffline; // total pix+sct holes
87 
88  int m_trtHitsOffline; // high threshold hits
89  int m_strawHitsOffline; // total number of straws
90 
91  // matching parameters
92  double m_matchR; // for DeltaR matcher
93  double m_matchPhi; // for DeltaPhi matcher
94 
95  ToolHandle<Trig::TrigDecisionTool> m_tdt;
96 
97  std::vector<TrackFilter*> m_filters;
98  std::vector<TrackAssociator*> m_associators;
99 
101  std::vector<T_AnalysisConfig<AthReentrantAlgorithm>*> m_sequences;
102 
103  std::vector<std::string> m_chainNames;
104  std::vector<std::string> m_ntupleChainNames;
105  std::string m_releaseMetaData;
106 
109 
110  std::string m_analysis_config;
111  std::string m_outputFileName;
112 
114 
117 
118  //pdgId
120 
122 
125 
128 
131 
135 
138 
140  bool m_shifter;
141 
144 
146  std::string m_sliceTag;
147 
150 
151  bool m_legacy;
152 
154 
156 
158 
160 
161  ToolHandleArray<GenericMonitoringTool> m_monTools { this, "MonTools", {} }; // insane configuration paradigm ?
162 
163  SG::ReadHandleKeyArray<xAOD::TrackParticleContainer> m_trackdummykeys{ this, "OfflineTrackCollections", {"InDetTrackParticles","InDetLargeD0TrackParticles"}, "" };
164 
165  SG::ReadHandleKeyArray<xAOD::VertexContainer> m_vtxdummykeys{ this, "OfflineVertexCollections", {"PrimaryVertices"}, "" };
166 
167 };
168 
169 
170 
171 #endif // TIDAEXAMPLE_TRIGR3MON_H
TrigR3Mon::m_requireDecision
bool m_requireDecision
Definition: TrigR3Mon.h:157
TrigR3Mon::m_sctHits
int m_sctHits
Definition: TrigR3Mon.h:65
Filter_RoiSelector.h
TrigR3Mon::finalize
virtual StatusCode finalize() override
TrigR3Mon::addMonGroupFromBase
void addMonGroupFromBase(const std::string &)
Definition: TrigR3Mon.h:51
TrigR3Mon::m_mind0CutOffline
double m_mind0CutOffline
Definition: TrigR3Mon.h:76
TrigR3Mon::m_firstRun
bool m_firstRun
Definition: TrigR3Mon.h:116
TrackFilter.h
base class for a single track selection filter allowing parameter setting for complex track selection
TrigR3Mon::m_shifter
bool m_shifter
determine whether this should be treated as a shifter chain
Definition: TrigR3Mon.h:140
TrigR3Mon::m_strawHitsOffline
int m_strawHitsOffline
Definition: TrigR3Mon.h:89
TrigR3Mon::m_tauEtCutOffline
double m_tauEtCutOffline
Definition: TrigR3Mon.h:71
TIDARoiDescriptor.h
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
TrigR3Mon::m_selectTruthPdgId
int m_selectTruthPdgId
Definition: TrigR3Mon.h:119
TrigR3Mon::m_doTauThreeProng
double m_doTauThreeProng
Definition: TrigR3Mon.h:72
TrigR3Mon::m_chainNames
std::vector< std::string > m_chainNames
Definition: TrigR3Mon.h:103
TrigR3Mon::m_blayerHitsOffline
int m_blayerHitsOffline
Definition: TrigR3Mon.h:82
TrackMatchDeltaRCosmic.h
TrigR3Mon::m_siHits
int m_siHits
Definition: TrigR3Mon.h:63
TrigR3Mon::m_sequences
std::vector< T_AnalysisConfig< AthReentrantAlgorithm > * > m_sequences
do we need this ??? why not the base class ???
Definition: TrigR3Mon.h:101
T_AnalysisConfig.h
Associator_BestMatch.h
TrigR3Mon::m_pTCutOffline
double m_pTCutOffline
Definition: TrigR3Mon.h:73
TrigR3Mon::m_filters
std::vector< TrackFilter * > m_filters
Definition: TrigR3Mon.h:97
TrigR3Mon::m_sctHitsOffline
int m_sctHitsOffline
Definition: TrigR3Mon.h:81
TrigR3Mon::m_sctHolesOffline
int m_sctHolesOffline
Definition: TrigR3Mon.h:85
TrigR3Mon::m_trackdummykeys
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_trackdummykeys
Definition: TrigR3Mon.h:163
TrigR3Mon::initialize
virtual StatusCode initialize() override
initialize
Definition: TrigR3Mon.cxx:141
AnalysisConfig_Tier0.h
TrigR3Mon::m_useHighestPT
bool m_useHighestPT
use only the highest pt tracks
Definition: TrigR3Mon.h:130
TrigR3Mon::m_buildNtuple
bool m_buildNtuple
Definition: TrigR3Mon.h:107
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TrigR3Mon::m_outputFileName
std::string m_outputFileName
Definition: TrigR3Mon.h:111
TrigR3Mon::m_pixHitsOffline
int m_pixHitsOffline
Definition: TrigR3Mon.h:80
TIDDirectory.h
class to keep a directory for each object in a root sort of way, but needed to keep the root objects ...
GenericMonitoringTool.h
TrigR3Mon::m_monTools
ToolHandleArray< GenericMonitoringTool > m_monTools
Definition: TrigR3Mon.h:161
TrigR3Mon::m_containTracks
bool m_containTracks
do we want basic, or rigorous roi track containment
Definition: TrigR3Mon.h:149
TrigR3Mon::m_strawHits
int m_strawHits
Definition: TrigR3Mon.h:68
Efficiency1D.h
TrigR3Mon::m_d0Cut
double m_d0Cut
Definition: TrigR3Mon.h:60
TrigR3Mon::m_vtxdummykeys
SG::ReadHandleKeyArray< xAOD::VertexContainer > m_vtxdummykeys
Definition: TrigR3Mon.h:165
TrigR3Mon::m_vtxIndex
int m_vtxIndex
if performing the vertex analysis, the index of the offline vertex to look for
Definition: TrigR3Mon.h:134
TrigR3Mon::m_shifterChains
int m_shifterChains
max number of shifter chains to use - must be < 2 at the moment
Definition: TrigR3Mon.h:143
TrigR3Mon::m_ntupleChainNames
std::vector< std::string > m_ntupleChainNames
Definition: TrigR3Mon.h:104
TrigR3Mon::m_analysis_config
std::string m_analysis_config
Definition: TrigR3Mon.h:110
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigR3Mon::m_matchPhi
double m_matchPhi
Definition: TrigR3Mon.h:93
AthMonitorAlgorithm.h
TrigR3Mon::~TrigR3Mon
virtual ~TrigR3Mon()
Definition: TrigR3Mon.cxx:125
TrigR3Mon::m_legacy
bool m_legacy
Definition: TrigR3Mon.h:151
TrigR3Mon::m_etaCut
double m_etaCut
Definition: TrigR3Mon.h:59
TrigR3Mon::m_releaseMetaData
std::string m_releaseMetaData
Definition: TrigR3Mon.h:105
TrigR3Mon::m_filter_on_roi
bool m_filter_on_roi
Definition: TrigR3Mon.h:159
TrigR3Mon::m_siHolesOffline
int m_siHolesOffline
Definition: TrigR3Mon.h:86
TrigR3Mon::m_etaCutOffline
double m_etaCutOffline
Definition: TrigR3Mon.h:74
TrigR3Mon::m_sliceTag
std::string m_sliceTag
additional string for the histogram directory
Definition: TrigR3Mon.h:146
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TrigR3Mon::m_initialisePerRun
bool m_initialisePerRun
Definition: TrigR3Mon.h:115
TrigR3Mon::m_genericFlag
bool m_genericFlag
Definition: TrigR3Mon.h:113
TrigR3Mon::m_keepAllEvents
bool m_keepAllEvents
kepp events even if they fail the requested trigger chains
Definition: TrigR3Mon.h:124
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigR3Mon::m_z0Cut
double m_z0Cut
Definition: TrigR3Mon.h:61
TrigR3Mon::fillHistograms
virtual StatusCode fillHistograms(const EventContext &context) const override
adds event to the monitoring histograms
TrigR3Mon::m_trtHits
int m_trtHits
Definition: TrigR3Mon.h:67
TrigR3Mon::m_trtHitsOffline
int m_trtHitsOffline
Definition: TrigR3Mon.h:88
TrigR3Mon::m_associators
std::vector< TrackAssociator * > m_associators
Definition: TrigR3Mon.h:98
TrigR3Mon::m_fileopen
bool m_fileopen
if an ntple file open?
Definition: TrigR3Mon.h:127
TrigR3Mon::m_siHitsOffline
int m_siHitsOffline
Definition: TrigR3Mon.h:79
TrigR3Mon
Definition: TrigR3Mon.h:36
TrigR3Mon::m_mcTruthIn
bool m_mcTruthIn
Definition: TrigR3Mon.h:108
TrackMatchDeltaR.h
TrigR3Mon::m_matchR
double m_matchR
Definition: TrigR3Mon.h:92
TrigR3Mon::m_pixHits
int m_pixHits
Definition: TrigR3Mon.h:64
TrigR3Mon::m_z0CutOffline
double m_z0CutOffline
Definition: TrigR3Mon.h:77
TrigR3Mon::m_runPurity
bool m_runPurity
also run purity analyses
Definition: TrigR3Mon.h:137
TrigR3Mon::m_tdt
ToolHandle< Trig::TrigDecisionTool > m_tdt
Definition: TrigR3Mon.h:95
TrigR3Mon::m_selectParentTruthPdgId
int m_selectParentTruthPdgId
Definition: TrigR3Mon.h:121
TrigR3Mon::bookHistograms
virtual StatusCode bookHistograms()
Definition: TrigR3Mon.cxx:177
TrigR3Mon::m_d0CutOffline
double m_d0CutOffline
Definition: TrigR3Mon.h:75
Filter_Track.h
TrigR3Mon::m_pixHolesOffline
int m_pixHolesOffline
Definition: TrigR3Mon.h:84
TrigR3Mon::m_fiducial_radius
double m_fiducial_radius
ntuple building variables
Definition: TrigR3Mon.h:155
TrigR3Mon::TrigR3Mon
TrigR3Mon(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigR3Mon.cxx:27
TrigR3Mon::m_pTCut
double m_pTCut
Definition: TrigR3Mon.h:58