|
ATLAS Offline Software
|
Go to the documentation of this file.
28 double sumCellET = 0.;
29 double sumCellET01 = 0;
30 double sumCellET12 = 0.;
31 double sumStripET = 0.;
32 double sumEMCellET = 0.;
33 double sumHadCellET = 0.;
35 double stripEta2 = 0.;
37 double HadRadius = 0.;
39 std::vector<double> cellRingEnergys(7,0.);
42 std::bitset<200000> cellSeen;
50 if (cellLinks ==
nullptr) {
51 ATH_MSG_DEBUG(
"NO Cell links found for cluster with pT " << cluster.
pt());
58 if (cellSeen.test(
cell->caloDDE()->calo_hash())) {
62 cellSeen.set(
cell->caloDDE()->calo_hash());
66 double cellPhi =
cell->phi();
67 double cellEta =
cell->eta();
68 double cellET =
cell->et();
69 double cellEnergy =
cell->energy();
74 cellPhi = vxCell.
phi();
75 cellEta = vxCell.
eta();
77 cellEnergy = vxCell.
energy();
80 TLorentzVector temp_cc_p4;
81 temp_cc_p4.SetPtEtaPhiE(cellET, cellEta, cellPhi, cellEnergy);
82 double dR = tauAxis.DeltaR(temp_cc_p4);
87 if (dR < 0.1) sumCellET01 += cellET;
88 if (dR > 0.1 && dR < 0.2) sumCellET12 += cellET;
97 sumEMCellET += cellET;
101 sumStripET += cellET;
102 stripEta += cellEta * cellET;
103 stripEta2 +=
pow(cellEta, 2) * cellET;
108 HadRadius += dR*cellET;
109 sumHadCellET += cellET;
113 if (dR < 0.05) cellRingEnergys[0] += cellET;
114 if (dR >= 0.05 && dR < 0.075) cellRingEnergys[1] += cellET;
115 if (dR >= 0.075 && dR < 0.1) cellRingEnergys[2] += cellET;
116 if (dR >= 0.1 && dR < 0.125) cellRingEnergys[3] += cellET;
117 if (dR >= 0.125 && dR < 0.15) cellRingEnergys[4] += cellET;
118 if (dR >= 0.15 && dR < 0.2) cellRingEnergys[5] += cellET;
119 if (dR >= 0.2 && dR < 0.4) cellRingEnergys[6] += cellET;
139 if (std::abs(sumCellET) > 1
e-6) {
150 if (std::abs(sumStripET) > 1
e-6) {
151 stripEta = stripEta / sumStripET;
152 stripEta2 = stripEta2 / sumStripET;
161 if (std::abs(sumEMCellET) > 1
e-6) {
170 if (std::abs(sumHadCellET) > 1
e-6) {
171 HadRadius = HadRadius / sumHadCellET;
178 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.
@ EMRadius
Get E_T radius.
Evaluate cell kinematics with a different vertex.
@ etEMAtEMScale
Get EM energy at EM scale.