 |
ATLAS Offline Software
|
Go to the documentation of this file.
22 double sumCellET = 0.;
23 double sumCellET01 = 0;
24 double sumCellET12 = 0.;
25 double sumStripET = 0.;
26 double sumEMCellET = 0.;
27 double sumHadCellET = 0.;
29 double stripEta2 = 0.;
31 double HadRadius = 0.;
33 std::vector<double> cellRingEnergys(7,0.);
36 std::bitset<200000> cellSeen;
44 if (cellLinks ==
nullptr) {
45 ATH_MSG_DEBUG(
"NO Cell links found for cluster with pT " << cluster.
pt());
52 if (cellSeen.test(
cell->caloDDE()->calo_hash())) {
56 cellSeen.set(
cell->caloDDE()->calo_hash());
60 double cellPhi =
cell->phi();
61 double cellEta =
cell->eta();
62 double cellET =
cell->et();
63 double cellEnergy =
cell->energy();
68 cellPhi = vxCell.
phi();
69 cellEta = vxCell.
eta();
71 cellEnergy = vxCell.
energy();
74 TLorentzVector temp_cc_p4;
75 temp_cc_p4.SetPtEtaPhiE(cellET, cellEta, cellPhi, cellEnergy);
76 double dR = tauAxis.DeltaR(temp_cc_p4);
81 if (dR < 0.1) sumCellET01 += cellET;
82 if (dR > 0.1 && dR < 0.2) sumCellET12 += cellET;
91 sumEMCellET += cellET;
96 stripEta += cellEta * cellET;
97 stripEta2 +=
pow(cellEta, 2) * cellET;
102 HadRadius += dR*cellET;
103 sumHadCellET += cellET;
107 if (dR < 0.05) cellRingEnergys[0] += cellET;
108 if (dR >= 0.05 && dR < 0.075) cellRingEnergys[1] += cellET;
109 if (dR >= 0.075 && dR < 0.1) cellRingEnergys[2] += cellET;
110 if (dR >= 0.1 && dR < 0.125) cellRingEnergys[3] += cellET;
111 if (dR >= 0.125 && dR < 0.15) cellRingEnergys[4] += cellET;
112 if (dR >= 0.15 && dR < 0.2) cellRingEnergys[5] += cellET;
113 if (dR >= 0.2 && dR < 0.4) cellRingEnergys[6] += cellET;
133 if (std::abs(sumCellET) > 1
e-6) {
144 if (std::abs(sumStripET) > 1
e-6) {
145 stripEta = stripEta / sumStripET;
146 stripEta2 = stripEta2 / sumStripET;
155 if (std::abs(sumEMCellET) > 1
e-6) {
164 if (std::abs(sumHadCellET) > 1
e-6) {
165 HadRadius = HadRadius / sumHadCellET;
172 return StatusCode::SUCCESS;
@ cellBasedEnergyRing4
Ring 4: 0.10 < R < 0.125.
virtual double eta() const final
The pseudorapidity of the particle.
@ cellBasedEnergyRing7
Ring 7: 0.2 < R < 0.4.
double energy() const
The energy of the particle.
virtual double phi() const final
The aximuthal angle of the particle.
@ cellBasedEnergyRing1
EM+TES final scale.
@ cellBasedEnergyRing6
Ring 6: 0.15 < R < 0.2.
@ hadRadius
Get hadron calorimeter radius.
@ stripWidth2
Get strip width ^2.
@ centFrac
Get centrality fraction.
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
Description of a calorimeter cluster.
@ etHadAtEMScale
Get Hadronic energy at EM scale.
Gaudi::Property< bool > m_doVertexCorrection
Gaudi::Property< double > m_cellCone
@ cellBasedEnergyRing2
Ring 2: 0.05 < R < 0.075.
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a tau jet.
Gaudi::Property< double > m_stripEthr
@ cellBasedEnergyRing5
Ring 5: 0.125 < R < 0.15.
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
virtual double pt() const
The transverse momentum ( ) of the particle (negative for negative-energy clusters)
@ nStrip
Get number of strips.
bool isStripLayer(const CaloSampling::CaloSample &calo) const
Check whether the CaloSample is a Strip layer.
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters() const
@ cellBasedEnergyRing3
Ring 3: 0.075 < R < 0.10.
virtual StatusCode execute(xAOD::TauJet &pTau) const override
Perform the calculation of cell variables for each tau candidate.
Class describing a Vertex.
Data object for each calorimeter readout cell.
Evaluate cell kinematics with a different vertex.
const Vertex * vertex() const
void setDetail(TauJetParameters::Detail detail, int value)
@ isolFrac
Get isolation fraction.
bool isEMLayer(const CaloSampling::CaloSample &calo) const
Check whether the CaloSample is a EM layer.
TauCellVariables(const std::string &name)
Constructor.
virtual double et() const
transverse energy defined to be e*sin(theta)
Evaluate cluster kinematics with a different vertex / signal state.
constexpr int pow(int base, int exp) noexcept
@ EMRadius
Get E_T radius.
Evaluate cell kinematics with a different vertex.
@ etEMAtEMScale
Get EM energy at EM scale.