ATLAS Offline Software
Loading...
Searching...
No Matches
Analysis_Tier0.h
Go to the documentation of this file.
1/* emacs: this is -*- c++ -*- */
10
11
12#ifndef TrigInDetAnalysisExample_Analysis_Tier0_H
13#define TrigInDetAnalysisExample_Analysis_Tier0_H
14
15
16#include <iostream>
17
18#include "TH1.h"
19#include "TH2.h"
20#include "TProfile.h"
21
24
26
27#include "GaudiKernel/ToolHandle.h"
29
31
32public:
33
35
36public:
37
38 Analysis_Tier0(const std::string& name, double pTCut, double etaCut, double d0Cut, double z0Cut);
39
40 virtual void initialise();
41
42 virtual void execute(const std::vector<TIDA::Track*>& referenceTracks,
43 const std::vector<TIDA::Track*>& testTracks,
44 TrackAssociator* associator );
45
46 virtual void execute_vtx(const std::vector<TIDA::Vertex*>& vtx0,
47 const std::vector<TIDA::Vertex*>& vtx1,
48 const TIDA::Event* tevt=0 );
49
50 virtual void finalise();
51
52 void setvertices(int numvtx) {m_nVtx = numvtx;}
53
54 std::map<std::string, TH1*>::const_iterator THbegin() const { return m_histos.begin(); }
55 std::map<std::string, TH1*>::const_iterator THend() const { return m_histos.end(); }
56
57 std::map<std::string, TProfile*>::const_iterator TEffbegin() const { return m_effhistos.begin(); }
58 std::map<std::string, TProfile*>::const_iterator TEffend() const { return m_effhistos.end(); }
59
60
61 void set_monTool( ToolHandle<GenericMonitoringTool>* m ) { m_monTool=m; }
62
63 ToolHandle<GenericMonitoringTool>* monTool() { return m_monTool; }
64
65
66 bool debug() const { return m_debug; }
67
68public:
69
70 void addHistogram( TH1* h ) {
71 std::string name = h->GetName();
72 m_histos.insert( std::map<std::string, TH1*>::value_type( name, h) );
73 }
74
75 void addHistogram( TProfile* h ) {
76 std::string name = h->GetName();
77 m_effhistos.insert( std::map<std::string, TProfile*>::value_type( name, h) );
78 }
79
80 double phi(double p);
81
82private:
83
84 std::map<std::string, TH1*> m_histos;
85 std::map<std::string, TProfile*> m_effhistos;
86
88 TProfile* m_h_pTeff;
89 TProfile* m_h_etaeff;
90 TProfile* m_h_phieff;
91 TProfile* m_h_d0eff;
92 TProfile* m_h_z0eff;
93 TProfile* m_h_nVtxeff;
94 TProfile* m_h_lbeff;
95
96 TProfile* m_h_pTres;
97 TProfile* m_h_ipTres;
98 TProfile* m_h_etares;
99 TProfile* m_h_phires;
100 TProfile* m_h_d0res;
101 TProfile* m_h_z0res;
102
106
107
108 TProfile* m_h_npixvseta;
109 TProfile* m_h_npixvsphi;
110 TProfile* m_h_npixvsd0;
111 TProfile* m_h_npixvspT;
112
113 TProfile* m_h_nsctvseta;
114 TProfile* m_h_nsctvsphi;
115 TProfile* m_h_nsctvsd0;
116 TProfile* m_h_nsctvspT;
117
118 TProfile* m_h_ntrtvseta;
119 TProfile* m_h_ntrtvsphi;
120
121 TProfile* m_h_nsihits_lb;
122
127
132
135
137
138 TProfile* m_h_d0vsphi;
140
141 //No currently in use
142 //but retained in case
143 //TH2F* h2d_d0vsphi;
144 //TH2F* h2d_d0vsphi_rec;
145
146
148
149 TH1F* m_h_ntrk;
150
156
157 //No currently in use
158 //but retained in case
159 //TH1F* m_h_trketaroi;
160 //TH1F* m_h_trketazroi;
161
164
166
167 TH1F* m_h_npix;
168 TH1F* m_h_nsct;
170 TH1F* m_h_ntrt;
171
173
175
176
182
185
187
192
193
195
196
203
206
207
208 // Efficiency plateau cuts
209 //No currently in use
210 //but retained in case
211 //double m_pTCut;
212 //double m_etaCut;
213 //double m_d0Cut;
214 //double m_z0Cut;
215
217
219
220 unsigned long long m_eventid;
221
223
224 ToolHandle<GenericMonitoringTool>* m_monTool;
225
226};
227
228
229#endif // TrigInDetAnalysisExample_Analysis_Tier0_H
Scalar phi() const
phi method
TIDA::Associator< TIDA::Track > TrackAssociator
Analysis_Tier0(const std::string &name, double pTCut, double etaCut, double d0Cut, double z0Cut)
TProfile * m_h_nsctvseta_rec
TProfile * m_h_npixvsphi
std::map< std::string, TH1 * > m_histos
TH1F * m_h_trkpT_residual
TProfile * m_h_npixvspT_rec
ToolHandle< GenericMonitoringTool > * m_monTool
TProfile * m_h_pTres
TProfile * m_h_ntrtvseta
TProfile * m_h_ntrtvseta_rec
std::map< std::string, TH1 * >::const_iterator THend() const
TProfile * m_h_trkvtx_y_lb
TProfile * m_h_etaeff
TH1F * m_h_trkipT_residual
std::map< std::string, TProfile * > m_effhistos
TProfile * m_h_d0eff
TProfile * m_h_nsctvsphi
TProfile * m_h_npixvseta_rec
TProfile * m_h_phires
VtxAnalysis * m_vtxanal
TH1F * m_h_trketa_residual
TProfile * m_h_nsctvseta
TProfile * m_h_trkvtx_z_lb
TProfile * m_h_npixvsd0
TProfile * m_h_d0vsphi_rec
bool debug() const
TProfile * m_h_npixvspT
virtual void execute_vtx(const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, const TIDA::Event *tevt=0)
unsigned long long m_eventid
void addHistogram(TH1 *h)
virtual void execute(const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator)
TProfile * m_h_npixvsphi_rec
TH1F * m_h_trkdz0_residual
TProfile * m_h_trkvtx_x_lb
TProfile * m_h_nsctvspT_rec
TProfile * m_h_nsihits_lb_rec
TProfile * m_h_ntrtvsphi
TH1F * m_h_trkdd0_residual
virtual void finalise()
TProfile * m_h_lbeff
std::map< std::string, TProfile * >::const_iterator TEffbegin() const
void addHistogram(TProfile *h)
TProfile * m_h_nVtxeff
TH1F * m_h_trkz0_residual
TProfile * m_h_nsctvsd0
void set_monTool(ToolHandle< GenericMonitoringTool > *m)
TProfile * m_h_ntrtvsphi_rec
TProfile * m_h_nsihits_lb
TProfile * m_h_nsctvsphi_rec
TProfile * m_h_d0res
TH1F * m_h_trkphi_residual
std::map< std::string, TH1 * >::const_iterator THbegin() const
TProfile * m_h_etares
TProfile * m_h_d0vsphi
TProfile * m_h_pTeff
void setvertices(int numvtx)
TProfile * m_h_nsctvsd0_rec
TProfile * m_h_z0res
TProfile * m_h_z0eff
TProfile * m_h_phieff
TProfile * m_h_ipTres
TProfile * m_h_nsctvspT
TH1F * m_h_trkd0_residual
TProfile * m_h_total_efficiency
std::map< std::string, TProfile * >::const_iterator TEffend() const
TProfile * m_h_npixvsd0_rec
ToolHandle< GenericMonitoringTool > * monTool()
virtual void initialise()
standard operation interface
TProfile * m_h_npixvseta
Header file for AthHistogramAlgorithm.
virtual void execute(const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher)=0
const std::string & name() const
return identifier
TrackAnalysis(const std::string &name)
the beam test parts are not really usable in a multithreaded environment