6 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
7 std::atomic<int> PFCluster::depthCorMode_{0};
8 std::atomic<double> PFCluster::depthCorA_{0.89};
9 std::atomic<double> PFCluster::depthCorB_{7.3};
10 std::atomic<double> PFCluster::depthCorAp_{0.89};
11 std::atomic<double> PFCluster::depthCorBp_{4.0};
13 int PFCluster::depthCorMode_ = 0;
14 double PFCluster::depthCorA_ = 0.89;
15 double PFCluster::depthCorB_ = 7.3;
16 double PFCluster::depthCorAp_ = 0.89;
17 double PFCluster::depthCorBp_ = 4.0;
24 double x,
double y,
double z ) :
29 posrep_( position_.Rho(), position_.
Eta(), position_.
Phi() ),
75 return isHadron ? corrA : corrA*(corrB +
log(energy));
96 CaloCluster::operator=(other);
114 const std::vector< reco::PFRecHitFraction >& fracs =
118 <<
", layer: "<<cluster.
layer()
119 <<
"\tE = "<<cluster.
energy()
121 <<pos.X()<<
","<<pos.Y()<<
","<<pos.Z()<<
" | "
123 <<posrep.Rho()<<
","<<posrep.Eta()<<
","<<posrep.Phi()<<
" | "
124 <<fracs.size()<<
" rechits";
126 for(
unsigned i=0;
i<fracs.size();
i++) {
128 if( !fracs[
i].recHitRef().isAvailable() )
PFLayer::Layer layer() const
cluster layer, see PFLayer.h in this directory
void setLayer(PFLayer::Layer layer)
set layer
const math::XYZPoint & position() const
cluster centroid position
math::XYZPoint position_
cluster centroid position
static const char layer_[]
CaloID caloID_
bitmask for detector information
void addHitAndFraction(DetId id, float fraction)
double energy_
cluster energy
static std::atomic< double > depthCorAp_
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
std::vector< reco::PFRecHitFraction > rechits_
vector of rechit fractions (transient)
PFLayer::Layer layer_
transient layer
ROOT::Math::PositionVector3D< ROOT::Math::CylindricalEta3D< Double32_t > > REPPoint
Fraction of a PFRecHit (rechits can be shared between several PFCluster's)
PFCluster & operator=(const PFCluster &)
std::vector< std::pair< DetId, float > > hitsAndFractions_
static std::atomic< double > depthCorB_
std::ostream & operator<<(std::ostream &, BeamSpot beam)
const CaloID & caloID() const
const REPPoint & positionREP() const
cluster position: rho, eta, phi
layer definition for PFRecHit and PFCluster
double time_
Michalis :Add timing and depth information.
void reset()
resets clusters parameters
double energy() const
cluster energy
void resetHitsAndFractions()
reset only hits and fractions
std::string printHitAndFraction(unsigned i) const
print hitAndFraction
static reco::CaloID toCaloID(Layer layer)
static double getDepthCorrection(double energy, bool isBelowPS=false, bool isHadron=false)
REPPoint posrep_
cluster position: rho, eta, phi (transient)
XYZPointD XYZPoint
point in space with cartesian internal representation
void addRecHitFraction(const reco::PFRecHitFraction &frac)
add a given fraction of the rechit
static std::atomic< double > depthCorBp_
int color_
color (transient)
static std::atomic< double > depthCorA_
static Layer fromCaloID(const reco::CaloID &id)
const std::vector< reco::PFRecHitFraction > & recHitFractions() const
vector of rechit fractions
const PFRecHitRef & recHitRef() const
copy
void reset()
resets the CaloCluster (position, energy, hitsAndFractions)