ATLAS Offline Software
Loading...
Searching...
No Matches
TrackClusterAssValidationUtils.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrackClusterAssValidationUtils_H
6#define TrackClusterAssValidationUtils_H
7
8namespace InDet {
9
11 // Header file for class PartPropCache
13
15 {
17 // Public methods:
19 public:
23 PartPropCache(const PartPropCache&) = default;
25 PartPropCache(int uidCharge,int rapidity);
27 ~PartPropCache() = default;
31 int id () const {return abs(m_uidCharge);}
32 int charge () const {return ((m_uidCharge>0) - (m_uidCharge<0));} //returns 1, -1 or 0 depending on sign
33 int rapidity() const {return m_rapidity;}
34
35 protected:
38 };
39
41 // Inline methods
43
44 inline PartPropCache::PartPropCache (int uidCharge,int rapidity)
45 {
46 m_uidCharge = uidCharge ;
48 }
49
50
52 public:
53 int m_efficiency [6]={} ;
54 int m_efficiencyN [6][5]={};
55 int m_efficiencyBTE[6][5][4]={};
56 int m_efficiencyPOS[6]={} ;
57 int m_efficiencyNEG[6]={} ;
64 int m_total [50]={} ;
65 int m_fake [50]={} ;
66 int m_events{} ;
69 int m_eventsBTE[4]={0} ;
70
71
73 for (int i=0; i<6; ++i) { m_efficiency[i]+=a_stat.m_efficiency[i];}
74 for (int i=0; i<6; ++i) { for (int j=0; j<5; ++j) { m_efficiencyN[i][j]+=a_stat.m_efficiencyN[i][j];}}
75 for (int i=0; i<6; ++i) { for (int j=0; j<5; ++j) { for (int k=0; k<4; ++k) { m_efficiencyBTE[i][j][k]+=a_stat.m_efficiencyBTE[i][j][k];} } }
76 for (int i=0; i<6; ++i) { m_efficiencyPOS[i]+=a_stat.m_efficiencyPOS[i];}
77 for (int i=0; i<6; ++i) { m_efficiencyNEG[i]+=a_stat.m_efficiencyNEG[i];}
84 for (int i=0; i<50; ++i) { m_total[i]+=a_stat.m_total[i];}
85 for (int i=0; i<50; ++i) { m_fake[i]+=a_stat.m_fake[i];}
86
87 return *this;
88 }
89
90 };
91
92
93 struct EventStat_t {
94 public:
95 int m_events{} ;
98 int m_eventsBTE[4]={};
99
102 int m_particleClustersBTE [50][4]={};
104
113 //
118
119
121 m_events += a_stat.m_events;
122 m_eventsPOS += a_stat.m_eventsPOS;
123 m_eventsNEG += a_stat.m_eventsNEG;
124 for (int i=0; i<4; ++i) { m_eventsBTE[i] += a_stat.m_eventsBTE[i]; }
125 for (int i=0; i<50; ++i) {m_particleClusters[i] += a_stat.m_particleClusters[i]; };
126 for (int i=0; i<50; ++i) {m_particleSpacePoints[i] += a_stat.m_particleSpacePoints[i]; };
127 for (int i=0; i<50; ++i) {for (int j=0; j<4; ++j) { m_particleClustersBTE[i][j] += a_stat.m_particleClustersBTE[i][j]; } }
128 for (int i=0; i<50; ++i) {for (int j=0; j<4; ++j) { m_particleSpacePointsBTE[i][j] += a_stat.m_particleSpacePointsBTE[i][j];} }
141 return *this;
142 }
143 };
144
145}
146#endif // TrackClusterAssValidationUtils_H
147
~PartPropCache()=default
destructor does nothing
PartPropCache & operator=(const PartPropCache &)=default
assignment defaulted
PartPropCache(const PartPropCache &)=default
copy c'tor defaulted
Primary Vertex Finder.
EventStat_t & operator+=(const EventStat_t &a_stat)
TrackCollectionStat_t & operator+=(const TrackCollectionStat_t &a_stat)