11 namespace egammaTools {
27 double Theta = -position_.theta() + 0.5 *
M_PI;
28 double Eta = position_.eta();
29 double Phi = TVector2::Phi_mpi_pi(position_.phi());
33 const float X0 = 0.89;
38 std::vector<std::pair<DetId, float> > crystals_vector = bclus.
hitsAndFractions();
42 for (
unsigned int icry = 0; icry != crystals_vector.size(); ++icry) {
45 auto cell = geom->getGeometry(crystal);
48 double EtaCentr = center_pos.
eta();
49 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
54 crystalseed = crystal;
58 ieta = crystalseed.
ieta();
59 iphi = crystalseed.
iphi();
62 auto cell = geom->getGeometry(crystalseed);
70 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
71 double PhiWidth = (
M_PI / 180.);
72 phicry = (TVector2::Phi_mpi_pi(Phi - PhiCentr)) / PhiWidth;
77 double ThetaCentr = -center_pos.
theta() + 0.5 *
M_PI;
78 double ThetaWidth = (
M_PI / 180.) *
std::cos(ThetaCentr);
79 etacry = (Theta - ThetaCentr) / ThetaWidth;
102 double Eta = position_.eta();
103 double Phi = TVector2::Phi_mpi_pi(position_.phi());
104 double X = position_.x();
105 double Y = position_.y();
109 const float X0 = 0.89;
118 std::vector<std::pair<DetId, float> > crystals_vector = bclus.
hitsAndFractions();
122 for (
unsigned int icry = 0; icry != crystals_vector.size(); ++icry) {
125 auto cell = geom->getGeometry(crystal);
128 double EtaCentr = center_pos.
eta();
129 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.
phi());
134 crystalseed = crystal;
138 ix = crystalseed.
ix();
139 iy = crystalseed.
iy();
142 auto cell = geom->getGeometry(crystalseed);
150 double XCentr = center_pos.
x();
151 double XWidth = 2.59;
152 xcry = (X - XCentr) / XWidth;
154 double YCentr = center_pos.
y();
155 double YWidth = 2.59;
156 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
static std::vector< std::string > checklist log
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
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
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...