ATLAS Offline Software
ConfVtxAnalysis.cxx
Go to the documentation of this file.
1 
11 #include "ConfVtxAnalysis.h"
12 
16 
17 
18 ConfVtxAnalysis::ConfVtxAnalysis( const std::string& n, bool use_secVtx_limits ) :
19  VertexAnalysis( n ), m_initialised(false), m_finalised(false), m_use_secVtx_limits(use_secVtx_limits), m_dir(0) { }
20 
21 
22 extern TIDA::Event* gevent;
23 
24 
26 
27  // std::cerr << "ConfVtxAnalysis::initialise() " << name() << std::endl;
28 
29  if ( m_initialised ) {
30  std::cerr << "ConfVtxAnalysis::initialise() " << name() << " already initialised" << std::endl;
31  return;
32  }
33 
34  m_initialised = true;
35  m_finalised = false;
36 
37  // std::cout << "ConfVtxAnalysis::initialise() " << name() << std::endl;
38 
39  m_dir = new TIDDirectory(name());
40  m_dir->push();
41 
42 #if 0
43  double vnbins[41] = {
44  0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5,
45  10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5,
46  21.5, 22.5, 24.5, 25.5, 27.5, 29.5,
47  31.5, 33.5, 35.5, 38.5,
48  40.5, 43.5, 46.5,
49  50.5, 53.5, 57.5,
50  61.5, 65.5, 69.5,
51  74.5,
52  80.5 };
53 
54 
55  double vnbins[81] = {
56  -0.5,
57  0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5,
58  10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5,
59  20.5, 21.5, 22.5, 23.5, 24.5, 25.5, 26.5, 27.5, 28.5, 29.5,
60  31.5, 32.5, 33.5, 34.5, 36.5, 37.5, 39.5,
61  40.5, 42.5, 43.5, 45.5, 47.5, 49.5,
62  50.5, 52.5, 54.5, 57.5, 59.5,
63  61.5, 63.5, 66.5, 69.5,
64  71.5, 74.5, 77.5,
65  80.5, 83.5, 86.5,
66  90.5, 93.5, 97.5,
67  100.5, 104.5, 108.5,
68  113.5, 117.5,
69  122.5, 126.5,
70  131.5, 136.5,
71  142.5, 147.5,
72  153.5, 159.5,
73  165.5,
74  171.5, 178.5,
75  185.5,
76  192.5,
77  200.5 };
78 
79 #endif
80 
81  double vnbins[101] = {
82  -0.5,
83  0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 17.5, 18.5, 19.5, 21.5,
84  23.5, 24.5, 26.5, 28.5, 30.5, 32.5, 35.5, 37.5, 40.5, 43.5, 46.5, 50.5, 53.5, 57.5, 61.5, 66.5, 71.5, 76.5, 81.5, 87.5,
85  93.5, 100.5, 107.5, 114.5, 123.5, 131.5, 141.5, 150.5, 161.5, 172.5, 185.5, 198.5, 211.5, 226.5, 242.5, 259.5, 277.5, 297.5, 317.5, 340.5,
86  363.5, 389.5, 416.5, 445.5, 476.5, 509.5,
87  544.5, 582.5, 623.5, 666.5, 713.5, 762.5, 815.5, 872.5, 933.5, 998.5, 1067.5,
88  1141.5, 1221.5, 1305.5, 1396.5, 1493.5, 1597.5,
89  1708.5, 1827.5, 1953.5, 2089.5,
90  2234.5, 2389.5, 2555.5,
91  2733.5, 2923.5, 3125.5,
92  3342.5, 3574.5,
93  3823.5, 4088.5,
94  4372.5, 4675.5,
95  5000.5
96  };
97 
98  double vrbins[41] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
99  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
100  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
101  30, 33, 36, 39, 42, 45,
102  50, 55, 60,
103  70, 80 };
104 
105  m_hnvtx = new TH1F( "nvtx", ";number of vertices", 101, -0.5, 100.5 );
106  m_hzed = new TH1F( "zed", ";vtx z [mm]", 200, -300, 300 );
107  m_hx = new TH1F( "x", ";vtx x [mm]", 800, -1, 1 );
108  m_hy = new TH1F( "y", ";vtx y [mm]", 800, -1, 1 );
109  m_hr = new TH1F( "r", ";vtx r [mm]", 40, vrbins );
110  // hntrax = new TH1F( "ntrax", ";number of tracks", 201, -0.5, 200.5 );
111  m_hmu = new TH1F( "mu", ";<mu>", 81, -0.5, 80.5 );
112  m_hlb = new TH1F( "lb", ";lumi block", 301, -0.5, 3009.5 );
113 
114  m_hnvtx_rec = new TH1F( "nvtx_rec", ";number of vertices", 101, -0.5, 100.5 );
115  m_hzed_rec = new TH1F( "zed_rec", ";vtx z [mm]", 200, -300, 300 );
116  m_hx_rec = new TH1F( "x_rec", ";vtx x [mm]", 800, -1, 1 );
117  m_hy_rec = new TH1F( "y_rec", ";vtx y [mm]", 800, -1, 1 );
118  m_hr_rec = new TH1F( "r_rec", ";vtx r [mm]", 40, vrbins );
119 
120  // different binning for primary and sec vtx analysis
121  if (m_use_secVtx_limits) {
122  m_hntrax = new TH1F( "ntrax", ";number of tracks", 14, -0.5, 13.5 );
123  m_hntrax_rec = new TH1F( "ntrax_rec", ";number of tracks", 14, -0.5, 13.5 );
124  m_h_dntrax = new TH1F( "dntrax", ";trigger - offline tracks", 61, -30.5, 30.5 );
125  }
126  else {
127  m_hntrax = new TH1F( "ntrax", ";number of tracks", 80, vnbins );
128  m_hntrax_rec = new TH1F( "ntrax_rec", ";number of tracks", 80, vnbins );
129  m_h_dntrax = new TH1F( "dntrax", ";trigger - offline tracks", 15, -7.5, 7.5 );
130  }
131 
132 
133  m_hzed_res = new TH1F( "zed_res", "Delta z [mm]", 400, -10, 10 );
134  m_hx_res = new TH1F( "x_res", "Delta x [mm]", 200, -0.1, 0.1 );
135  m_hy_res = new TH1F( "y_res", "Delta y [mm]", 200, -0.1, 0.1 );
136 
137  m_rdntrax_vs_zed = new Resplot( "rdntrax_vs_zed", 100, -300, 300, 61, -30.5, 30.5);
138  m_rdntrax_vs_ntrax = new Resplot( "rdntrax_vs_ntrax", 14, -0.5, 13.5, 15, -30.5, 30.5);
139  m_rdntrax_vs_r = new Resplot( "rdntrax_vs_r", 40, vrbins, 15, -7.5, 7.5 );
140 
141  m_rdz_vs_zed = new Resplot( "rdz_vs_zed", 100, -300, 300, 1600, -20, 20 );
142  m_rdz_vs_ntrax = new Resplot( "rdz_vs_ntrax", 201, -0.5, 200.5, 1600, -20, 20 );
143  m_rdz_vs_nvtx = new Resplot( "rdz_vs_nvtx", 81, -0.5, 80.5, 1600, -20, 20 );
144  m_rdz_vs_mu = new Resplot( "rdz_vs_mu", 30, 0, 30, 1600, -20, 20 );
145  m_rdz_vs_r = new Resplot( "rdz_vs_r", 40, vrbins, 1600, -20, 20 );
146 
147  m_rdr_vs_zed = new Resplot( "rdr_vs_zed", 100, -300, 300, 800, -15, 15 );
148  m_rdr_vs_r = new Resplot( "rdr_vs_r", 40, vrbins, 800, -15, 15 );
149  m_rdr_vs_ntrax = new Resplot( "rdr_vs_ntrax", 14, -0.5, 13.5, 800, -15, 15 );
150 
151  m_eff_zed = new Efficiency1D( m_hzed, "zed_eff" );
152  m_eff_x = new Efficiency1D( m_hx, "x_eff" );
153  m_eff_y = new Efficiency1D( m_hy, "y_eff" );
154  m_eff_ntrax = new Efficiency1D( m_hntrax, "ntrax_eff" );
155  m_eff_nvtx = new Efficiency1D( m_hnvtx, "nvtx_eff" );
156  m_eff_mu = new Efficiency1D( m_hmu, "mu_eff" );
157  m_eff_lb = new Efficiency1D( m_hlb, "lb_eff" );
158  m_eff_r = new Efficiency1D( m_hr, "r_eff" );
159 
160  m_rnvtxrec_nvtx = new Resplot( "rnvtxrec_vs_nvtx", 81, -0.5, 80.5, 81, -0.5, 80.5 );
161 
162  // double ntrax[10] = { 0, 2, 5, 10, 15, 20, 30, 15, 100 };
163 
164  m_rdz_vs_lb = new Resplot( "rdz_vs_lb", 301, -0.5, 3009.5, 800, -20, 20 );
165  m_rdx_vs_lb = new Resplot( "rdx_vs_lb", 301, -0.5, 3009.5, 300, -3, 3 );
166  m_rdy_vs_lb = new Resplot( "rdy_vs_lb", 301, -0.5, 3009.5, 300, -3, 3 );
167 
168  m_dir->pop();
169 
170 }
171 
172 template<typename T>
173 std::ostream& operator<<( std::ostream& s, const std::vector<T*>& v) {
174  for ( size_t i=0 ; i<v.size() ; i++ ) {
175  if ( v[i] ) s << "\t" << *v[i] << "\n";
176  else s << "\t" << "----\n";
177  }
178  return s;
179 }
180 
181 void ConfVtxAnalysis::execute( const std::vector<TIDA::Vertex*>& vtx0,
182  const std::vector<TIDA::Vertex*>& vtx1,
183  const TIDA::Event* tevt ) {
184 
185 
186  if ( !m_initialised ) return;
187 
188  // if ( vtx1.size()<2 ) return;
189 
190 #if 0
191  std::cout << "ConfVtxAnalysis::execute() " << name()
192  << "\tvtx0.size() " << vtx0.size()
193  << "\tvtx1.size() " << vtx1.size()
194  << std::endl;
195 
196  std::cout << "\tref: " << vtx0 << std::endl;
197  std::cout << "\ttest: " << vtx1 << std::endl;
198 #endif
199 
200  // use new matcher if tracks included
201  if ( vtx0[0]->tracks().size() > 0 ) {
202  VertexNewMatcher m( "vtx_matcher", 0.5 );
203  execute_internal<VertexNewMatcher>(vtx0, vtx1, m, tevt);
204  }
205  else {
206  VertexMatcher m( "vtx_matcher", 3 );
207  execute_internal<VertexMatcher>(vtx0, vtx1, m, tevt);
208  }
209 }
210 
211 
212 template<typename Matcher>
213 void ConfVtxAnalysis::execute_internal( const std::vector<TIDA::Vertex*>& vtx0,
214  const std::vector<TIDA::Vertex*>& vtx1,
215  Matcher& m,
216  const TIDA::Event* tevt ) {
217 
218  m.match( vtx0, vtx1 );
219 
220  m_hnvtx->Fill( vtx0.size() );
221  m_hnvtx_rec->Fill( vtx1.size() );
222 
223  m_rnvtxrec_nvtx->Fill( vtx0.size(), vtx1.size() );
224 
225  // keep alternate functionality commented
226  // std::cout << "gevent " << gevent << std::endl;
227 
229  // double mu = gevent->mu();
230  // double lb = gevent->lumi_block();
231  double mu = tevt->mu();
232  double lb = tevt->lumi_block();
233 
234  for ( unsigned i=0 ; i<vtx0.size() ; i++ ) {
235 
237  if ( vtx0[i]->Ntracks() == 0 ) continue;
238 
239  // offline vertex radial position
240  double r = std::sqrt(vtx0[i]->x()*vtx0[i]->x() + vtx0[i]->y()*vtx0[i]->y());
241 
242  m_hx->Fill( vtx0[i]->x() );
243  m_hy->Fill( vtx0[i]->y() );
244  m_hzed->Fill( vtx0[i]->z() );
245  m_hntrax->Fill( vtx0[i]->Ntracks() );
246  m_hr->Fill( r );
247 
248  m_hlb->Fill( lb );
249  m_hmu->Fill( mu );
250 
251  const TIDA::Vertex* mv = m.matched( vtx0[i] );
252 
253  // std::cout << "\tvtx match: " << i << " " << mv << std::endl;
254  if ( mv ) {
255  // std::cout << "\ttest z " << mv->z() << " : delta z " << (mv->z()-vtx0[i]->z()) << std::endl;
256 
259 
260  // online vertex radial position
261  double r_rec = std::sqrt(mv->x()*mv->x() + mv->y()*mv->y());
262 
263  int dntrax = mv->Ntracks() - vtx0[i]->Ntracks();
264 
265  m_hx_rec->Fill( mv->x() );
266  m_hy_rec->Fill( mv->y() );
267  m_hzed_rec->Fill( mv->z() );
268  m_hntrax_rec->Fill( mv->Ntracks() );
269  m_hr_rec->Fill( r_rec );
270 
271  m_hx_res->Fill( mv->x() - vtx0[i]->x() );
272  m_hy_res->Fill( mv->y() - vtx0[i]->y() );
273  m_hzed_res->Fill( mv->z() - vtx0[i]->z() );
274 
275  m_h_dntrax->Fill( dntrax );
276 
277  m_rdz_vs_zed->Fill( vtx0[i]->z(), mv->z() - vtx0[i]->z() );
278  m_rdz_vs_ntrax->Fill( vtx0[i]->Ntracks(), mv->z() - vtx0[i]->z() );
279  m_rdz_vs_nvtx->Fill( vtx0.size(), mv->z() - vtx0[i]->z() );
280  m_rdz_vs_mu->Fill( mu, mv->z() - vtx0[i]->z() );
281  m_rdz_vs_r->Fill( r, mv->z() - vtx0[i]->z() );
282 
283  m_rdntrax_vs_zed->Fill( vtx0[i]->z(), dntrax );
284  m_rdntrax_vs_ntrax->Fill( vtx0[i]->Ntracks(), dntrax );
285  m_rdntrax_vs_r->Fill( r, dntrax );
286 
287  m_rdr_vs_zed->Fill( vtx0[i]->z(), r_rec - r );
288  m_rdr_vs_r->Fill( r, r_rec - r );
289  m_rdr_vs_ntrax->Fill( vtx0[i]->Ntracks(), r_rec - r );
290 
291  m_eff_zed->Fill( vtx0[i]->z() );
292  m_eff_x->Fill( vtx0[i]->x() );
293  m_eff_y->Fill( vtx0[i]->y() );
294  m_eff_r->Fill( r );
295 
296  m_eff_ntrax->Fill( vtx0[i]->Ntracks() );
297  m_eff_nvtx->Fill( vtx0.size() );
298 
299  m_eff_mu->Fill( mu );
300  m_eff_lb->Fill( lb );
301 
302  // std::cout << "found vtx ref vertex size " << vtx0.size() << "\tonline " << vtx1.size() << std::endl;
303  // std::cout << "\tref: " << *vtx0[i] << std::endl;
304  // for ( unsigned iv=0 ; iv<vtx1.size() ; iv++ ) if ( vtx1[iv] ) std::cout << "\t" << iv << " : " << *vtx1[iv] << std::endl;
305 
307  m_rdz_vs_lb->Fill( lb, mv->z() - vtx0[i]->z() );
308  m_rdx_vs_lb->Fill( lb, mv->x() - vtx0[i]->x() );
309  m_rdy_vs_lb->Fill( lb, mv->y() - vtx0[i]->y() );
310 
311  } else {
312  // std::cout << "\t" << "------" << std::endl;
313 
314  // std::cout << "missing vtx ref vertex size " << vtx0.size() << "\tonline " << vtx1.size() << std::endl;
315  // std::cout << "\tref: " << *vtx0[i] << std::endl;
316  // for ( unsigned iv=0 ; iv<vtx1.size() ; iv++ ) if ( vtx1[iv] ) std::cout << "\t" << iv << " : " << *vtx1[iv] << std::endl;
317 
318 #if 0
319  static int vtxcount=0;
320 
321  if ( vtxcount<100 ) {
322  std::cout << "ConfVtxAnalysis::execute() " << name() << "\tnomatch\n"
323  << "\tvtx0.size() " << vtx0.size()
324  << "\tvtx1.size() " << vtx1.size()
325  << std::endl;
326 
327  std::cout << "\tref: " << vtx0 << std::endl;
328  std::cout << "\ttest: " << vtx1 << std::endl;
329 
330  vtxcount++;
331 
332  // std::cout << *gevent << std::endl;
333  }
334 
335 
336 #endif
337 
338 
339  m_eff_x->FillDenom( vtx0[i]->x() );
340  m_eff_y->FillDenom( vtx0[i]->y() );
341  m_eff_zed->FillDenom( vtx0[i]->z() );
342  m_eff_r->FillDenom( r );
343 
344  m_eff_ntrax->FillDenom( vtx0[i]->Ntracks() );
345  m_eff_nvtx->FillDenom( vtx0.size() );
346 
347  m_eff_mu->FillDenom( mu );
348  m_eff_lb->FillDenom( lb );
349  }
350  }
351 }
352 
354 
355  if ( !m_initialised ) return;
356  if ( m_finalised ) return;
357 
358  std::cout << "ConfVtxAnalysis::finalise() " << name() << std::endl;
359 
360  m_finalised = true;
361 
362  m_dir->push();
363 
364  m_hnvtx->Write();
365  m_hzed->Write();
366  m_hntrax->Write();
367  m_hr->Write();
368 
369  m_hnvtx_rec->Write();
370  m_hzed_rec->Write();
371  m_hntrax_rec->Write();
372  m_hr_rec->Write();
373 
374  m_hmu->Write();
375  m_hlb->Write();
376  m_h_dntrax->Write();
377  m_hzed_res->Write();
378 
379  std::cout << "finalising resplots" << std::endl;
380 
386 
390 
394 
396 
397  m_eff_zed->finalise(); m_eff_zed->Bayes()->Write( (m_eff_zed->name()+"_tg").c_str() );
398  m_eff_x->finalise(); m_eff_x->Bayes()->Write( (m_eff_x->name()+"_tg").c_str() );
399  m_eff_y->finalise(); m_eff_y->Bayes()->Write( (m_eff_y->name()+"_tg").c_str() );
400  m_eff_r->finalise(); m_eff_r->Bayes()->Write( (m_eff_r->name()+"_tg").c_str());
401 
402  m_eff_ntrax->finalise(); m_eff_ntrax->Bayes()->Write( (m_eff_ntrax->name()+"_tg").c_str() );
403  m_eff_nvtx->finalise(); m_eff_nvtx->Bayes()->Write( (m_eff_nvtx->name()+"_tg").c_str() );
404 
405  m_eff_mu->finalise(); m_eff_mu->Bayes()->Write( (m_eff_mu->name()+"_tg").c_str() );
406  m_eff_lb->finalise(); m_eff_lb->Bayes()->Write( (m_eff_lb->name()+"_tg").c_str() );
407 
408 
412 
413  m_dir->pop();
414 }
415 
beamspotman.r
def r
Definition: beamspotman.py:676
ConfVtxAnalysis::m_hzed
TH1F * m_hzed
Definition: ConfVtxAnalysis.h:56
ConfVtxAnalysis::m_finalised
bool m_finalised
Definition: ConfVtxAnalysis.h:49
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
ConfVtxAnalysis::m_eff_y
Efficiency1D * m_eff_y
Definition: ConfVtxAnalysis.h:95
m_dir
TDirectory & m_dir
The directory we need to return to.
Definition: OutputStreamData.cxx:41
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
Resplot::Fill
int Fill(double x, double y, double w=1)
Definition: Resplot.h:281
ConfVtxAnalysis::m_rdz_vs_ntrax
Resplot * m_rdz_vs_ntrax
Definition: ConfVtxAnalysis.h:82
ConfVtxAnalysis::m_eff_mu
Efficiency1D * m_eff_mu
Definition: ConfVtxAnalysis.h:98
ConfVtxAnalysis::m_rnvtxrec_nvtx
Resplot * m_rnvtxrec_nvtx
Definition: ConfVtxAnalysis.h:91
VertexAnalysis::name
std::string name() const
Definition: VertexAnalysis.h:33
TIDAEvent.h
Basic event class to contain a vector of chains for trigger analysis
operator<<
std::ostream & operator<<(std::ostream &s, const std::vector< T * > &v)
Definition: ConfVtxAnalysis.cxx:173
TIDDirectory::pop
void pop()
Definition: TIDDirectory.h:79
ConfVtxAnalysis::m_rdz_vs_nvtx
Resplot * m_rdz_vs_nvtx
Definition: ConfVtxAnalysis.h:84
TIDA::Vertex::y
double y() const
Definition: TIDAVertex.h:52
ConfVtxAnalysis::m_rdr_vs_ntrax
Resplot * m_rdr_vs_ntrax
Definition: ConfVtxAnalysis.h:88
ConfVtxAnalysis::m_eff_ntrax
Efficiency1D * m_eff_ntrax
Definition: ConfVtxAnalysis.h:96
ConfVtxAnalysis::m_hmu
TH1F * m_hmu
Definition: ConfVtxAnalysis.h:60
ConfVtxAnalysis::m_hntrax
TH1F * m_hntrax
Definition: ConfVtxAnalysis.h:59
ConfVtxAnalysis::m_hnvtx_rec
TH1F * m_hnvtx_rec
Definition: ConfVtxAnalysis.h:64
ConfVtxAnalysis::m_h_dntrax
TH1F * m_h_dntrax
Definition: ConfVtxAnalysis.h:75
ConfVtxAnalysis::m_dir
TIDDirectory * m_dir
Definition: ConfVtxAnalysis.h:53
ConfVtxAnalysis::m_use_secVtx_limits
bool m_use_secVtx_limits
Definition: ConfVtxAnalysis.h:51
T_Efficiency::finalise
void finalise(double scale=100)
actually calculate the efficiencies
Definition: T_Efficiency.h:80
ConfVtxAnalysis::m_rdr_vs_zed
Resplot * m_rdr_vs_zed
Definition: ConfVtxAnalysis.h:87
ConfVtxAnalysis::m_hzed_rec
TH1F * m_hzed_rec
Definition: ConfVtxAnalysis.h:65
TIDA::Event
Definition: TIDAEvent.h:33
ConfVtxAnalysis::m_hy
TH1F * m_hy
Definition: ConfVtxAnalysis.h:58
TIDA::Event::lumi_block
void lumi_block(unsigned lb)
Definition: TIDAEvent.h:44
x
#define x
ConfVtxAnalysis::m_hx_rec
TH1F * m_hx_rec
Definition: ConfVtxAnalysis.h:66
ConfVtxAnalysis::m_eff_nvtx
Efficiency1D * m_eff_nvtx
Definition: ConfVtxAnalysis.h:97
ConfVtxAnalysis::m_hlb
TH1F * m_hlb
Definition: ConfVtxAnalysis.h:61
ConfVtxAnalysis.h
ConfVtxAnalysis::m_hx_res
TH1F * m_hx_res
Definition: ConfVtxAnalysis.h:72
ConfVtxAnalysis::m_rdntrax_vs_ntrax
Resplot * m_rdntrax_vs_ntrax
Definition: ConfVtxAnalysis.h:79
ConfVtxAnalysis::m_rdz_vs_zed
Resplot * m_rdz_vs_zed
Definition: ConfVtxAnalysis.h:81
TIDDirectory
Definition: TIDDirectory.h:25
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Efficiency1D
Definition: Efficiency1D.h:19
ConfVtxAnalysis::m_hr
TH1F * m_hr
Definition: ConfVtxAnalysis.h:62
python.BunchSpacingUtils.lb
lb
Definition: BunchSpacingUtils.py:88
ConfVtxAnalysis::m_initialised
bool m_initialised
Definition: ConfVtxAnalysis.h:48
VertexNewMatcher
Definition: VertexNewMatcher.h:22
lumiFormat.i
int i
Definition: lumiFormat.py:92
ConfVtxAnalysis::m_hr_rec
TH1F * m_hr_rec
Definition: ConfVtxAnalysis.h:69
z
#define z
ConfVtxAnalysis::m_rdntrax_vs_zed
Resplot * m_rdntrax_vs_zed
Definition: ConfVtxAnalysis.h:77
beamspotman.n
n
Definition: beamspotman.py:731
gevent
TIDA::Event * gevent
Definition: globals.cxx:13
Efficiency1D::FillDenom
virtual void FillDenom(double x, float w=1)
Definition: Efficiency1D.h:42
Resplot::FitNull95
static TF1 * FitNull95(TH1D *s, double a=0, double b=0)
Definition: Resplot.cxx:1673
ConfVtxAnalysis::m_hntrax_rec
TH1F * m_hntrax_rec
Definition: ConfVtxAnalysis.h:68
ConfVtxAnalysis::m_eff_zed
Efficiency1D * m_eff_zed
Definition: ConfVtxAnalysis.h:93
ConfVtxAnalysis::ConfVtxAnalysis
ConfVtxAnalysis(const std::string &n, bool use_secVtx_limits=false)
Definition: ConfVtxAnalysis.cxx:18
ConfVtxAnalysis::m_hy_res
TH1F * m_hy_res
Definition: ConfVtxAnalysis.h:73
Resplot
Definition: Resplot.h:50
ConfVtxAnalysis::finalise
void finalise()
Definition: ConfVtxAnalysis.cxx:353
Efficiency1D::Fill
virtual void Fill(double x, double w=1)
Definition: Efficiency1D.h:37
ConfVtxAnalysis::initialise
void initialise()
Definition: ConfVtxAnalysis.cxx:25
ConfVtxAnalysis::m_rdr_vs_r
Resplot * m_rdr_vs_r
Definition: ConfVtxAnalysis.h:89
ConfVtxAnalysis::m_hnvtx
TH1F * m_hnvtx
Definition: ConfVtxAnalysis.h:55
TIDA::Vertex
Definition: TIDAVertex.h:23
VertexNewMatcher.h
Resplot::Write
Int_t Write(const char *=0, Int_t=0, Int_t=0) const
Hooray, this stupidity is to overwride both the const and non-const TObject Write methods Fixme: shou...
Definition: Resplot.h:454
ConfVtxAnalysis::execute
void execute(const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, const TIDA::Event *tevt=0)
Definition: ConfVtxAnalysis.cxx:181
ConfVtxAnalysis::m_rdz_vs_r
Resplot * m_rdz_vs_r
Definition: ConfVtxAnalysis.h:83
ConfVtxAnalysis::m_rdy_vs_lb
Resplot * m_rdy_vs_lb
Definition: ConfVtxAnalysis.h:103
ConfVtxAnalysis::m_rdx_vs_lb
Resplot * m_rdx_vs_lb
Definition: ConfVtxAnalysis.h:102
ConfVtxAnalysis::m_rdz_vs_lb
Resplot * m_rdz_vs_lb
Definition: ConfVtxAnalysis.h:104
TIDDirectory::push
void push()
Definition: TIDDirectory.h:78
Resplot::Finalise
int Finalise(double a=-999, double b=-999, TF1 *(*func)(TH1D *s, double a, double b)=Resplot::FitGaussian)
Definition: Resplot.cxx:388
ConfVtxAnalysis::m_hy_rec
TH1F * m_hy_rec
Definition: ConfVtxAnalysis.h:67
TIDA::Vertex::z
double z() const
Definition: TIDAVertex.h:53
TIDA::Event::mu
void mu(double m)
Definition: TIDAEvent.h:47
ConfVtxAnalysis::m_hx
TH1F * m_hx
Definition: ConfVtxAnalysis.h:57
python.PyAthena.v
v
Definition: PyAthena.py:157
ConfVtxAnalysis::m_hzed_res
TH1F * m_hzed_res
Definition: ConfVtxAnalysis.h:71
TIDA::Vertex::Ntracks
int Ntracks() const
Definition: TIDAVertex.h:62
ConfVtxAnalysis::m_rdz_vs_mu
Resplot * m_rdz_vs_mu
Definition: ConfVtxAnalysis.h:85
ConfVtxAnalysis::m_eff_x
Efficiency1D * m_eff_x
Definition: ConfVtxAnalysis.h:94
ConfVtxAnalysis::execute_internal
void execute_internal(const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, Matcher &m, const TIDA::Event *tevt=0)
Definition: ConfVtxAnalysis.cxx:213
y
#define y
ConfVtxAnalysis::m_eff_lb
Efficiency1D * m_eff_lb
Definition: ConfVtxAnalysis.h:99
VertexAnalysis
Definition: VertexAnalysis.h:25
VertexMatcher.h
VertexMatcher
Definition: VertexMatcher.h:22
T_Efficiency::name
std::string name() const
Definition: T_Efficiency.h:73
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
Efficiency1D::Bayes
TGraphAsymmErrors * Bayes(double scale=100)
evaluate the uncertainties correctly ...
Definition: Efficiency1D.h:49
ConfVtxAnalysis::m_eff_r
Efficiency1D * m_eff_r
Definition: ConfVtxAnalysis.h:100
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
TIDA::Vertex::x
double x() const
Definition: TIDAVertex.h:51
ConfVtxAnalysis::m_rdntrax_vs_r
Resplot * m_rdntrax_vs_r
Definition: ConfVtxAnalysis.h:78