1 #include "../interface/EcalClusterLocal.h"
25 localCoordsEB( bclus, *pG, etacry, phicry, ieta, iphi, thetatilt, phitilt);
39 double Theta = -position_.theta()+0.5*
TMath::Pi();
40 double Eta = position_.eta();
45 const float X0 = 0.89;
const float T0 = 7.4;
46 double depth = X0 * (T0 +
log(bclus.
energy()));
49 std::vector< std::pair<DetId, float> > crystals_vector = bclus.
hitsAndFractions();
53 for (
unsigned int icry=0; icry!=crystals_vector.size(); ++icry) {
59 double EtaCentr = center_pos.
eta();
65 crystalseed = crystal;
70 ieta = crystalseed.
ieta();
71 iphi = crystalseed.
iphi();
77 thetatilt = cpyr->getThetaAxis();
78 phitilt = cpyr->getPhiAxis();
86 if (ieta<0) phicry *= -1.;
89 double ThetaWidth = (
TMath::Pi()/180.)*TMath::Cos(ThetaCentr);
90 etacry = (Theta-ThetaCentr)/ThetaWidth;
92 if (ieta<0) etacry *= -1.;
102 localCoordsEE( bclus, *pG, xcry, ycry, ix, iy, thetatilt, phitilt);
114 double Eta = position_.eta();
116 double X = position_.x();
117 double Y = position_.y();
121 const float X0 = 0.89;
float T0 = 1.2;
123 if (TMath::Abs(bclus.
eta())<1.653) T0 = 3.1;
125 double depth = X0 * (T0 +
log(bclus.
energy()));
128 std::vector< std::pair<DetId, float> > crystals_vector = bclus.
hitsAndFractions();
132 for (
unsigned int icry=0; icry!=crystals_vector.size(); ++icry) {
138 double EtaCentr = center_pos.
eta();
144 crystalseed = crystal;
149 ix = crystalseed.
ix();
150 iy = crystalseed.
iy();
156 thetatilt = cpyr->getThetaAxis();
157 phitilt = cpyr->getPhiAxis();
161 double XCentr = center_pos.
x();
162 double XWidth = 2.59;
163 xcry = (X-XCentr)/XWidth;
166 double YCentr = center_pos.
y();
167 double YWidth = 2.59;
168 ycry = (Y-YCentr)/YWidth;
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
const math::XYZPoint & position() const
cluster centroid position
Geom::Phi< T > phi() const
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
double Phi_mpi_pi(double x)
double eta() const
pseudorapidity of cluster centroid
Geom::Theta< T > theta() const
int iphi() const
get the crystal iphi
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
double energy() const
cluster energy
int ieta() const
get the crystal ieta
XYZPointD XYZPoint
point in space with cartesian internal representation
void localCoordsEB(const reco::CaloCluster &bclus, const edm::EventSetup &es, float &etacry, float &phicry, int &ieta, int &iphi, float &thetatilt, float &phitilt) const
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...
void localCoordsEE(const reco::CaloCluster &bclus, const edm::EventSetup &es, float &xcry, float &ycry, int &ix, int &iy, float &thetatilt, float &phitilt) const