28 double Theta = -position_.theta() + 0.5 *
TMath::Pi();
29 double Eta = position_.eta();
30 double Phi = TVector2::Phi_mpi_pi(position_.phi());
34 const float X0 = 0.89;
39 std::vector<std::pair<DetId, float> > crystals_vector = bclus.
hitsAndFractions();
43 for (
unsigned int icry = 0; icry != crystals_vector.size(); ++icry) {
46 auto cell = geom->getGeometry(crystal);
49 double EtaCentr = center_pos.
eta();
50 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
55 crystalseed = crystal;
59 ieta = crystalseed.
ieta();
60 iphi = crystalseed.
iphi();
63 auto cell = geom->getGeometry(crystalseed);
71 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
73 phicry = (TVector2::Phi_mpi_pi(Phi - PhiCentr)) / PhiWidth;
79 double ThetaWidth = (
TMath::Pi() / 180.) * TMath::Cos(ThetaCentr);
80 etacry = (Theta - ThetaCentr) / ThetaWidth;
103 double Eta = position_.eta();
104 double Phi = TVector2::Phi_mpi_pi(position_.phi());
105 double X = position_.x();
106 double Y = position_.y();
110 const float X0 = 0.89;
119 std::vector<std::pair<DetId, float> > crystals_vector = bclus.
hitsAndFractions();
123 for (
unsigned int icry = 0; icry != crystals_vector.size(); ++icry) {
126 auto cell = geom->getGeometry(crystal);
129 double EtaCentr = center_pos.
eta();
130 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
135 crystalseed = crystal;
139 ix = crystalseed.
ix();
140 iy = crystalseed.
iy();
143 auto cell = geom->getGeometry(crystalseed);
151 double XCentr = center_pos.
x();
152 double XWidth = 2.59;
153 xcry = (X - XCentr) / XWidth;
155 double YCentr = center_pos.
y();
156 double YWidth = 2.59;
157 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
GlobalPoint getPosition(CCGFloat depth) const override
Geom::Phi< T > phi() const
CCGFloat getPhiAxis() const
double eta() const
pseudorapidity of cluster centroid
Geom::Theta< T > theta() const
int iphi() const
get the crystal iphi
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
double energy() const
cluster energy
int ieta() const
get the crystal ieta
CCGFloat getThetaAxis() const
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
XYZPointD XYZPoint
point in space with cartesian internal representation
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...