CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
reco::PFBlockElementSuperCluster Class Reference

Cluster Element. More...

#include <PFBlockElementSuperCluster.h>

Inheritance diagram for reco::PFBlockElementSuperCluster:
reco::PFBlockElement

Public Member Functions

PFBlockElementclone () const override
 necessary to have the edm::OwnVector<PFBlockElement> working More...
 
void Dump (std::ostream &out=std::cout, const char *tab=" ") const override
 print the object inside the element More...
 
float ecalIso () const
 
bool fromGsfElectron () const
 
bool fromPFSuperCluster () const
 
bool fromPhoton () const
 
float hcalIso () const
 
float hoverE () const
 
 PFBlockElementSuperCluster ()
 
 PFBlockElementSuperCluster (const SuperClusterRef &ref)
 constructor. type must be equal to PS1, PS2, ECAL, HCAL. More...
 
const PhotonRefphotonRef () const
 
void setEcalIso (float val)
 set the ecal Iso More...
 
void setFromGsfElectron (bool val)
 set provenance More...
 
void setFromPFSuperCluster (bool val)
 
void setFromPhoton (bool val)
 set provenance More...
 
void setHcalIso (float val)
 set the had Iso More...
 
void setHoE (float val)
 set H/E More...
 
void setPhotonRef (const PhotonRef &ref)
 set photonRef More...
 
void setTrackIso (float val)
 set the track Iso More...
 
const SuperClusterRefsuperClusterRef () const
 
float trackIso () const
 
- Public Member Functions inherited from reco::PFBlockElement
virtual const PFClusterRefclusterRef () const
 
virtual const ConversionRefVectorconvRefs () const
 
virtual const PFDisplacedTrackerVertexRefdisplacedVertexRef (TrackType trType) const
 
const PFMultilinksTypegetMultilinks (Type type) const
 
unsigned index () const
 
virtual bool isLinkedToDisplacedVertex () const
 
bool isMultilinksValide (Type type) const
 
virtual bool isPrimary () const
 
virtual bool isSecondary () const
 
bool isTimeValid () const
 do we have a valid time information More...
 
void lock ()
 lock element More...
 
bool locked () const
 locked ? More...
 
virtual const MuonRefmuonRef () const
 
 PFBlockElement (Type type=NONE)
 standard constructor More...
 
virtual void setConversionRef (const ConversionRef &convRef, TrackType trType)
 
virtual void setDisplacedVertexRef (const PFDisplacedTrackerVertexRef &niref, TrackType trType)
 
void setIndex (unsigned index)
 set index More...
 
void setIsValidMultilinks (bool isVal, Type type)
 
void setMultilinks (const PFMultiLinksTC &ml, Type type)
 
virtual void setMuonRef (const MuonRef &muref)
 
void setTime (float time, float timeError=0.f)
 \set the timing information More...
 
virtual void setTrackType (TrackType trType, bool value)
 \set the trackType More...
 
virtual void setV0Ref (const VertexCompositeCandidateRef &v0ref, TrackType trType)
 
float time () const
 
float timeError () const
 
virtual const reco::TrackReftrackRef () const
 
virtual const PFRecTrackReftrackRefPF () const
 
virtual bool trackType (TrackType trType) const
 
Type type () const
 
void unLock ()
 unlock element More...
 
virtual const VertexCompositeCandidateRefV0Ref () const
 
virtual ~PFBlockElement ()
 destructor More...
 

Private Attributes

float ecalIso_
 
bool fromGsfElectron_
 
bool fromPFSuperCluster_
 
bool fromPhoton_
 
float hcalIso_
 
float HoE_
 
PhotonRef photonRef_
 
SuperClusterRef superClusterRef_
 reference to the corresponding cluster More...
 
float trackIso_
 

Additional Inherited Members

- Public Types inherited from reco::PFBlockElement
enum  TrackType {
  DEFAULT = 0, T_FROM_DISP, T_TO_DISP, T_FROM_GAMMACONV,
  MUON, T_FROM_V0
}
 
enum  Type {
  NONE = 0, TRACK = 1, PS1 = 2, PS2 = 3,
  ECAL = 4, HCAL = 5, GSF = 6, BREM = 7,
  HFEM = 8, HFHAD = 9, SC = 10, HO = 11,
  HGCAL = 12, kNBETypes = 13
}
 
- Protected Attributes inherited from reco::PFBlockElement
unsigned index_
 index in block vector More...
 
bool locked_
 
std::map< reco::PFBlockElement::Type, PFMultiLinksTCmultilinks_
 
float time_
 timing information (valid if timeError_ >= 0) More...
 
float timeError_
 timing information uncertainty (<0 if timing not available) More...
 
Type type_
 
- Static Protected Attributes inherited from reco::PFBlockElement
const static ConversionRefVector nullConv_ = reco::ConversionRefVector()
 
const static MuonRef nullMuon_ = reco::MuonRef()
 
const static PFClusterRef nullPFCluster_ = reco::PFClusterRef()
 
const static PFDisplacedTrackerVertexRef nullPFDispVertex_ = reco::PFDisplacedTrackerVertexRef()
 
const static PFRecTrackRef nullPFRecTrack_ = reco::PFRecTrackRef()
 
const static reco::TrackRef nullTrack_ = reco::TrackRef()
 
const static VertexCompositeCandidateRef nullVertex_ = reco::VertexCompositeCandidateRef()
 

Detailed Description

Cluster Element.

this class contains a reference to a PFCluster

Definition at line 15 of file PFBlockElementSuperCluster.h.

Constructor & Destructor Documentation

◆ PFBlockElementSuperCluster() [1/2]

reco::PFBlockElementSuperCluster::PFBlockElementSuperCluster ( )
inline

Definition at line 17 of file PFBlockElementSuperCluster.h.

17 {}

Referenced by clone().

◆ PFBlockElementSuperCluster() [2/2]

reco::PFBlockElementSuperCluster::PFBlockElementSuperCluster ( const SuperClusterRef ref)
inline

constructor. type must be equal to PS1, PS2, ECAL, HCAL.

Definition at line 22 of file PFBlockElementSuperCluster.h.

24  superClusterRef_(ref),
25  trackIso_(0.),
26  ecalIso_(0.),
27  hcalIso_(0.),
28  HoE_(0.),
29  fromGsfElectron_(false),
30  fromPhoton_(false),
31  fromPFSuperCluster_(false) {}

Member Function Documentation

◆ clone()

PFBlockElement* reco::PFBlockElementSuperCluster::clone ( ) const
inlineoverridevirtual

necessary to have the edm::OwnVector<PFBlockElement> working

Implements reco::PFBlockElement.

Definition at line 33 of file PFBlockElementSuperCluster.h.

33 { return new PFBlockElementSuperCluster(*this); }

References PFBlockElementSuperCluster().

◆ Dump()

void PFBlockElementSuperCluster::Dump ( std::ostream &  out = std::cout,
const char *  tab = " " 
) const
overridevirtual

print the object inside the element

Reimplemented from reco::PFBlockElement.

Definition at line 11 of file PFBlockElementSuperCluster.cc.

11  {
12  if (!out)
13  return;
14  // need to convert the math::XYZPoint data member of the PFCluster class=
15  // to a displacement vector:
16  ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>, ROOT::Math::DefaultCoordinateSystemTag> clusterPos(
17  superClusterRef_->position().X(), superClusterRef_->position().Y(), superClusterRef_->position().Z());
18 
19  clusterPos = clusterPos.Unit();
20  double E = superClusterRef_->energy();
21  clusterPos *= E;
22  double ET = sqrt(clusterPos.X() * clusterPos.X() + clusterPos.Y() * clusterPos.Y());
23 
24  out << setprecision(3);
25  out << setiosflags(ios::right);
26  out << setiosflags(ios::fixed);
27  out << setw(4) << ", ET =" << setw(7) << ET;
28  out << setw(4) << ", E =" << setw(7) << E;
29  out << " (eta,phi,z)= (";
30  out << superClusterRef_->position().Eta() << ",";
31  out << superClusterRef_->position().Phi() << ",";
32  out << superClusterRef_->position().Z() << ")";
33  out << resetiosflags(ios::right | ios::fixed);
34 }

References ET, alignBH_cfg::fixed, MillePedeFileConverter_cfg::out, and mathSSE::sqrt().

Referenced by reco::operator<<(), and PFEGammaAlgo::unwrapSuperCluster().

◆ ecalIso()

float reco::PFBlockElementSuperCluster::ecalIso ( ) const
inline
Returns
the ecal isolation

Definition at line 70 of file PFBlockElementSuperCluster.h.

70 { return ecalIso_; }

References ecalIso_.

◆ fromGsfElectron()

bool reco::PFBlockElementSuperCluster::fromGsfElectron ( ) const
inline
Returns
provenance

Definition at line 79 of file PFBlockElementSuperCluster.h.

79 { return fromGsfElectron_; }

References fromGsfElectron_.

◆ fromPFSuperCluster()

bool reco::PFBlockElementSuperCluster::fromPFSuperCluster ( ) const
inline

◆ fromPhoton()

bool reco::PFBlockElementSuperCluster::fromPhoton ( ) const
inline
Returns
provenance

Definition at line 82 of file PFBlockElementSuperCluster.h.

82 { return fromPhoton_; }

References fromPhoton_.

◆ hcalIso()

float reco::PFBlockElementSuperCluster::hcalIso ( ) const
inline
Returns
the had isolation

Definition at line 73 of file PFBlockElementSuperCluster.h.

73 { return hcalIso_; }

References hcalIso_.

◆ hoverE()

float reco::PFBlockElementSuperCluster::hoverE ( ) const
inline
Returns
Hoe

Definition at line 76 of file PFBlockElementSuperCluster.h.

76 { return HoE_; }

References HoE_.

◆ photonRef()

const PhotonRef& reco::PFBlockElementSuperCluster::photonRef ( ) const
inline
Returns
reference to seeding photon

Definition at line 39 of file PFBlockElementSuperCluster.h.

39 { return photonRef_; }

References photonRef_.

◆ setEcalIso()

void reco::PFBlockElementSuperCluster::setEcalIso ( float  val)
inline

set the ecal Iso

Definition at line 47 of file PFBlockElementSuperCluster.h.

47 { ecalIso_ = val; }

References ecalIso_, and heppy_batch::val.

Referenced by EGPhotonImporter::importToBlock().

◆ setFromGsfElectron()

void reco::PFBlockElementSuperCluster::setFromGsfElectron ( bool  val)
inline

set provenance

Definition at line 56 of file PFBlockElementSuperCluster.h.

56 { fromGsfElectron_ = val; }

References fromGsfElectron_, and heppy_batch::val.

Referenced by GSFTrackImporter::importToBlock().

◆ setFromPFSuperCluster()

void reco::PFBlockElementSuperCluster::setFromPFSuperCluster ( bool  val)
inline

◆ setFromPhoton()

void reco::PFBlockElementSuperCluster::setFromPhoton ( bool  val)
inline

set provenance

Definition at line 59 of file PFBlockElementSuperCluster.h.

59 { fromPhoton_ = val; }

References fromPhoton_, and heppy_batch::val.

Referenced by EGPhotonImporter::importToBlock().

◆ setHcalIso()

void reco::PFBlockElementSuperCluster::setHcalIso ( float  val)
inline

set the had Iso

Definition at line 50 of file PFBlockElementSuperCluster.h.

50 { hcalIso_ = val; }

References hcalIso_, and heppy_batch::val.

Referenced by EGPhotonImporter::importToBlock().

◆ setHoE()

void reco::PFBlockElementSuperCluster::setHoE ( float  val)
inline

set H/E

Definition at line 53 of file PFBlockElementSuperCluster.h.

53 { HoE_ = val; }

References HoE_, and heppy_batch::val.

Referenced by EGPhotonImporter::importToBlock().

◆ setPhotonRef()

void reco::PFBlockElementSuperCluster::setPhotonRef ( const PhotonRef ref)
inline

set photonRef

Definition at line 64 of file PFBlockElementSuperCluster.h.

64 { photonRef_ = ref; }

References photonRef_.

Referenced by EGPhotonImporter::importToBlock().

◆ setTrackIso()

void reco::PFBlockElementSuperCluster::setTrackIso ( float  val)
inline

set the track Iso

Definition at line 44 of file PFBlockElementSuperCluster.h.

44 { trackIso_ = val; }

References trackIso_, and heppy_batch::val.

Referenced by EGPhotonImporter::importToBlock().

◆ superClusterRef()

const SuperClusterRef& reco::PFBlockElementSuperCluster::superClusterRef ( ) const
inline
Returns
reference to the corresponding cluster

Definition at line 36 of file PFBlockElementSuperCluster.h.

36 { return superClusterRef_; }

References superClusterRef_.

Referenced by SpecialClusterImporter< T >::importToBlock(), SCAndECALLinker::testLink(), SCAndHGCalLinker::testLink(), and PFEGammaAlgo::unwrapSuperCluster().

◆ trackIso()

float reco::PFBlockElementSuperCluster::trackIso ( ) const
inline
Returns
the track isolation

Definition at line 67 of file PFBlockElementSuperCluster.h.

67 { return trackIso_; }

References trackIso_.

Member Data Documentation

◆ ecalIso_

float reco::PFBlockElementSuperCluster::ecalIso_
private

Definition at line 94 of file PFBlockElementSuperCluster.h.

Referenced by ecalIso(), and setEcalIso().

◆ fromGsfElectron_

bool reco::PFBlockElementSuperCluster::fromGsfElectron_
private

Definition at line 98 of file PFBlockElementSuperCluster.h.

Referenced by fromGsfElectron(), and setFromGsfElectron().

◆ fromPFSuperCluster_

bool reco::PFBlockElementSuperCluster::fromPFSuperCluster_
private

Definition at line 100 of file PFBlockElementSuperCluster.h.

Referenced by fromPFSuperCluster(), and setFromPFSuperCluster().

◆ fromPhoton_

bool reco::PFBlockElementSuperCluster::fromPhoton_
private

Definition at line 99 of file PFBlockElementSuperCluster.h.

Referenced by fromPhoton(), and setFromPhoton().

◆ hcalIso_

float reco::PFBlockElementSuperCluster::hcalIso_
private

Definition at line 95 of file PFBlockElementSuperCluster.h.

Referenced by hcalIso(), and setHcalIso().

◆ HoE_

float reco::PFBlockElementSuperCluster::HoE_
private

Definition at line 96 of file PFBlockElementSuperCluster.h.

Referenced by hoverE(), and setHoE().

◆ photonRef_

PhotonRef reco::PFBlockElementSuperCluster::photonRef_
private

Definition at line 91 of file PFBlockElementSuperCluster.h.

Referenced by photonRef(), and setPhotonRef().

◆ superClusterRef_

SuperClusterRef reco::PFBlockElementSuperCluster::superClusterRef_
private

reference to the corresponding cluster

Definition at line 90 of file PFBlockElementSuperCluster.h.

Referenced by superClusterRef().

◆ trackIso_

float reco::PFBlockElementSuperCluster::trackIso_
private

Definition at line 93 of file PFBlockElementSuperCluster.h.

Referenced by setTrackIso(), and trackIso().

alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
reco::PFBlockElementSuperCluster::superClusterRef_
SuperClusterRef superClusterRef_
reference to the corresponding cluster
Definition: PFBlockElementSuperCluster.h:90
reco::PFBlockElement::SC
Definition: PFBlockElement.h:41
reco::PFBlockElementSuperCluster::fromPFSuperCluster_
bool fromPFSuperCluster_
Definition: PFBlockElementSuperCluster.h:100
reco::PFBlockElementSuperCluster::PFBlockElementSuperCluster
PFBlockElementSuperCluster()
Definition: PFBlockElementSuperCluster.h:17
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
reco::PFBlockElementSuperCluster::fromGsfElectron_
bool fromGsfElectron_
Definition: PFBlockElementSuperCluster.h:98
ET
#define ET
Definition: GenericBenchmark.cc:27
reco::PFBlockElementSuperCluster::fromPhoton_
bool fromPhoton_
Definition: PFBlockElementSuperCluster.h:99
reco::PFBlockElementSuperCluster::ecalIso_
float ecalIso_
Definition: PFBlockElementSuperCluster.h:94
heppy_batch.val
val
Definition: heppy_batch.py:351
reco::PFBlockElementSuperCluster::trackIso_
float trackIso_
Definition: PFBlockElementSuperCluster.h:93
reco::PFBlockElementSuperCluster::photonRef_
PhotonRef photonRef_
Definition: PFBlockElementSuperCluster.h:91
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
reco::PFBlockElementSuperCluster::HoE_
float HoE_
Definition: PFBlockElementSuperCluster.h:96
reco::PFBlockElement::PFBlockElement
PFBlockElement(Type type=NONE)
standard constructor
Definition: PFBlockElement.h:50
reco::PFBlockElementSuperCluster::hcalIso_
float hcalIso_
Definition: PFBlockElementSuperCluster.h:95