10 PFClusterRef_(PFClusterRef)
16 for(
int i=0;
i<5; ++
i)
17 for(
int j=0; j<5; ++j)
e5x5_[
i][j]=0;
27 const auto & PFRecHits=
30 for(
auto it = PFRecHits.begin();
31 it != PFRecHits.end(); ++it){
32 const auto & RefPFRecHit = it->recHitRef();
33 auto frac=it->fraction();
34 float E= RefPFRecHit->energy()*
frac;
38 auto const & pyr =
dynamic_cast<TruncatedPyramid const &
>(RefPFRecHit->caloCell());
40 position=RefPFRecHit->position();
41 idseed = RefPFRecHit->detId();
61 double PhiCentr = TVector2::Phi_mpi_pi(center_pos.phi());
63 double PhiCry = (TVector2::Phi_mpi_pi(Phi-PhiCentr))/PhiWidth;
64 double ThetaCentr = -center_pos.theta()+0.5*
Pi;
65 double ThetaWidth = (Pi/180.)*
cos(ThetaCentr);
67 double EtaCry = (Theta-ThetaCentr)/ThetaWidth;
132 float X0 = 0.89;
float T0 = 1.2;
136 double XCentr = center_pos.x();
137 double YCentr = center_pos.y();
138 double XWidth = 2.59;
139 double YWidth = 2.59;
147 const std::vector< reco::PFRecHitFraction >& PFRecHits=
PFClusterRef_->recHitFractions();
148 for(std::vector< reco::PFRecHitFraction >::const_iterator it = PFRecHits.begin(); it != PFRecHits.end(); ++it){
150 DetId id=RefPFRecHit->detId();
151 double frac=it->fraction();
152 float E=RefPFRecHit->energy()*
frac;
162 int ind1=EBidSeed.
ieta()-EBid.ieta();
163 int ind2=EBidSeed.
iphi()-EBid.iphi();
164 if(EBidSeed.
ieta() * EBid.ieta() > 0){
165 ind1=EBid.ieta()-EBidSeed.
ieta();
173 if( (EBidSeed.
iphi()<5&&EBid.iphi()>355) || (EBidSeed.
iphi()>355&&EBid.iphi()<5)) {
175 ind2 =
shift + EBidSeed.
iphi() - EBid.iphi();
202 int ind1=EEid.ix()-EEidSeed.
ix();
203 int ind2=EEid.iy()-EEidSeed.
iy();
217 double numeratorEtaWidth = 0.;
218 double numeratorPhiWidth = 0.;
219 double numeratorEtaPhiWidth = 0.;
222 const std::vector< reco::PFRecHitFraction >& PFRecHits=
PFClusterRef_->recHitFractions();
223 for(std::vector< reco::PFRecHitFraction >::const_iterator it = PFRecHits.begin(); it != PFRecHits.end(); ++it){
225 float E=RefPFRecHit->energy() * it->fraction();
226 double dEta = RefPFRecHit->position().eta() - ClustEta;
227 double dPhi = RefPFRecHit->position().phi() - ClustPhi;
230 numeratorEtaWidth += E * dEta *
dEta;
231 numeratorPhiWidth += E * dPhi *
dPhi;
GlobalPoint getPosition(CCGFloat depth) const override
static int distanceX(const EEDetId &a, const EEDetId &b)
constexpr uint32_t rawId() const
get the raw id
reco::PFClusterRef PFClusterRef_
int iphi() const
get the crystal iphi
static int distanceEta(const EBDetId &a, const EBDetId &b)
math::XYZVector seedAxis_
static int distancePhi(const EBDetId &a, const EBDetId &b)
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
PFPhotonClusters(reco::PFClusterRef PFClusterRef)
int ieta() const
get the crystal ieta
static int distanceY(const EEDetId &a, const EEDetId &b)
static const int MAX_IPHI
XYZVectorD XYZVector
spatial vector with cartesian internal representation
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...
static int position[264][3]
static unsigned int const shift
math::XYZVector seedPosition_