19{
20
21
22
23
24
25
26
27
29 return StatusCode::SUCCESS;
30 }
31
34
35
36 info.f3 = std::abs(eallsamples) > 0. ?
e3 / eallsamples : 0.;
37
38
40
41
44
47 int sampling_or_module = 0;
48
49
50
51
52
53
54
55
56
57
58
61
62 if ((
eta == 0. &&
phi == 0.) || std::abs(
eta) > 100) {
63 return StatusCode::SUCCESS;
64 }
65
66
67
69
70
71
72 const CaloDetDescrElement* dde =
74
75 if (!dde) {
76 return StatusCode::SUCCESS;
77 }
78
79
80 double deta = dde->
deta();
81 double dphi = dde->
dphi();
82
85
86
87
88 CaloLayerCalculator
calc;
89
90
92 calc.fill(cmgr, &cell_container,
eta,
phi, 3. * deta, 3. * dphi, sam);
95 }
97
98 if (ExecOtherVariables) {
99
100 CaloCellList cell_list(&cmgr, &cell_container);
101
102 cell_list.select(
eta,
phi, 7.0 * deta, 7.0 * dphi, sam);
103
105 cell_list.begin(), cell_list.end(),
eta,
phi, 7. * deta, 7. * dphi, sam);
107
108
110 cell_list.begin(), cell_list.end(),
eta,
phi, 5. * deta, 5. * dphi, sam);
112
113
115 cell_list.begin(), cell_list.end(),
eta,
phi, 3. * deta, 7. * dphi, sam);
117
118
120 cell_list.begin(), cell_list.end(),
eta,
phi, 3. * deta, 5. * dphi, sam);
122 }
123
124
125 if (eallsamples > 0. &&
info.e333 > -999.) {
126 info.f3core =
info.e333 / eallsamples;
127 }
128
129 return StatusCode::SUCCESS;
130}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
CaloCell_Base_ID::SUBCALO SUBCALO
float eta_raw() const
cell eta_raw
float dphi() const
cell dphi
float phi_raw() const
cell phi_raw
float deta() const
cell deta
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
static void decode_sample(CaloCell_ID::SUBCALO &subCalo, bool &barrel, int &sampling_or_module, CaloCell_ID::CaloSample sample)
translate between the 2 ways to label a sub-detector:
bool inBarrel() const
Returns true if at least one clustered cell in the barrel.
bool inEndcap() const
Returns true if at least one clustered cell in the endcap.
float etamax(const CaloSample sampling) const
Retrieve of cell with maximum energy in given sampling.
float phimax(const CaloSample sampling) const
Retrieve of cell with maximum energy in given sampling.
::StatusCode StatusCode
StatusCode definition for legacy code.
double e3(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 3rd sampling
bool inBarrel(const xAOD::CaloCluster &cluster, int is)
return boolean to know if we are in barrel/end-cap
double e(const xAOD::CaloCluster &cluster)
return the uncorrected sum of energy in all samples