13 double Et1(c1->e()/cosh(c1->eta())), Et2(c2->e()/cosh(c2->eta()));
24 float dEta,
float dPhi)
47 for(
const auto *
const cc : *inputTopoClusterContainer)
59 return StatusCode::SUCCESS;
65 double eta(topo->phi()),
phi(topo->phi());
123 if ((Pt * 1e-3) < 15) {
126 else if ((Pt * 1e-3) < 50) {
142 std::vector<const xAOD::CaloCluster*> clusters;
146 if (dEta > 0. && dPhi > 0.) {
151 for (
int ieta = lower_keys.first; ieta <= upper_keys.first; ieta++)
152 for (
int iphi = lower_keys.second; iphi <= upper_keys.second; iphi++)
153 clusters.insert(clusters.end(),
m_map.at(ieta).at(iphi).begin(),
m_map.at(ieta).at(iphi).end());
170 double totalEnergy(0.), thirdLayerEnergy(0.);
173 totalEnergy += clus->
eSample(CaloSampling::PreSamplerB);
174 totalEnergy += clus->
eSample(CaloSampling::EMB1);
175 totalEnergy += clus->
eSample(CaloSampling::EMB2);
176 totalEnergy += clus->
eSample(CaloSampling::EMB3);
178 thirdLayerEnergy += clus->
eSample(CaloSampling::EMB3);
182 totalEnergy += clus->
eSample(CaloSampling::PreSamplerE);
183 totalEnergy += clus->
eSample(CaloSampling::EME1);
184 totalEnergy += clus->
eSample(CaloSampling::EME2);
185 totalEnergy += clus->
eSample(CaloSampling::EME3);
187 thirdLayerEnergy += clus->
eSample(CaloSampling::EME3);
191 if (totalEnergy == 0)
return 0;
192 return (thirdLayerEnergy / totalEnergy);
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
bool CompareClusterET(const xAOD::CaloCluster *c1, const xAOD::CaloCluster *c2)
static const Attributes_t empty
static double GetLArThirdLayerRatio(const xAOD::CaloCluster *)
TopoClusterMap(float minEta=-6., float minPhi=-3.2, float maxEta=6., float maxPhi=3.2, float dEta=0.3, float dPhi=0.1)
std::pair< int, int > GetEtaPhiKeys(double eta, double phi) const
StatusCode SetTopoClusters(const xAOD::CaloClusterContainer *)
void InsertTopoCluster(xAOD::CaloCluster *)
interface methods
void SortGridVector(int eta_key, int phi_key)
std::vector< const xAOD::CaloCluster * > RetrieveTopoClusters(double eta, double phi, double Pt) const
bool inBarrel() const
Returns true if at least one clustered cell in the barrel.
float eSample(const CaloSample sampling) const
bool inEndcap() const
Returns true if at least one clustered cell in the endcap.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.