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();
41 double Phi = TVector2::Phi_mpi_pi(position_.phi());
45 const float X0 = 0.89;
const float T0 = 7.4;
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();
60 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
65 crystalseed = crystal;
70 ieta = crystalseed.
ieta();
71 iphi = crystalseed.
iphi();
82 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
84 phicry = (TVector2::Phi_mpi_pi(Phi-PhiCentr))/PhiWidth;
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();
115 double Phi = TVector2::Phi_mpi_pi(position_.phi());
116 double X = position_.x();
117 double Y = position_.y();
121 const float X0 = 0.89;
float T0 = 1.2;
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();
139 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
144 crystalseed = crystal;
149 ix = crystalseed.
ix();
150 iy = crystalseed.
iy();
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
CCGFloat getPhiAxis() const
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
CCGFloat getThetaAxis() const
const GlobalPoint getPosition(CCGFloat depth) const
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