CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
 necessary to have the edm::OwnVector<PFBlockElement> working More...
 
void Dump (std::ostream &out=std::cout, const char *tab=" ") const
 print the object inside the element More...
 
float ecalIso () const
 
float hcalIso () const
 
float hoverE () const
 
 PFBlockElementSuperCluster ()
 
 PFBlockElementSuperCluster (const SuperClusterRef &ref)
 constructor. type must be equal to PS1, PS2, ECAL, HCAL. More...
 
void setEcalIso (float val)
 set the ecal Iso More...
 
void setHcalIso (float val)
 set the had Iso More...
 
void setHoE (float val)
 set H/E More...
 
void setTrackIso (float val)
 set the track Iso More...
 
SuperClusterRef superClusterRef () const
 
float trackIso () const
 
- Public Member Functions inherited from reco::PFBlockElement
virtual PFClusterRef clusterRef () const
 
virtual ConversionRef convRef () const
 
virtual PFDisplacedTrackerVertexRef displacedVertexRef (TrackType trType) const
 
unsigned index () const
 
virtual bool isLinkedToDisplacedVertex () const
 
virtual bool isPrimary () const
 
virtual bool isSecondary () const
 
void lock ()
 lock element More...
 
bool locked () const
 locked ? More...
 
virtual MuonRef muonRef () 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...
 
virtual void setMuonRef (const MuonRef &muref)
 
virtual void setTrackType (TrackType trType, bool value)
 the trackType More...
 
virtual void setV0Ref (const VertexCompositeCandidateRef &v0ref, TrackType trType)
 
virtual reco::TrackRef trackRef () const
 
virtual PFRecTrackRef trackRefPF () const
 
virtual bool trackType (TrackType trType) const
 
Type type () const
 
void unLock ()
 unlock element More...
 
virtual VertexCompositeCandidateRef V0Ref () const
 
virtual ~PFBlockElement ()
 destructor More...
 

Private Attributes

float ecalIso_
 
float hcalIso_
 
float HoE_
 
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
}
 
- Protected Attributes inherited from reco::PFBlockElement
unsigned index_
 index in block vector More...
 
bool locked_
 
Type type_
 

Detailed Description

Cluster Element.

this class contains a reference to a PFCluster

Definition at line 14 of file PFBlockElementSuperCluster.h.

Constructor & Destructor Documentation

reco::PFBlockElementSuperCluster::PFBlockElementSuperCluster ( )
inline

Definition at line 16 of file PFBlockElementSuperCluster.h.

Referenced by clone().

16 {}
reco::PFBlockElementSuperCluster::PFBlockElementSuperCluster ( const SuperClusterRef ref)
inline

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

Definition at line 21 of file PFBlockElementSuperCluster.h.

Member Function Documentation

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

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

Implements reco::PFBlockElement.

Definition at line 30 of file PFBlockElementSuperCluster.h.

References PFBlockElementSuperCluster().

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

print the object inside the element

Reimplemented from reco::PFBlockElement.

Definition at line 11 of file PFBlockElementSuperCluster.cc.

References ET, and mathSSE::sqrt().

12  {
13 
14  if(! out ) return;
15  // need to convert the math::XYZPoint data member of the PFCluster class=
16  // to a displacement vector:
17  ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D<double> , ROOT::Math::DefaultCoordinateSystemTag >
18  clusterPos( superClusterRef_->position().X(), superClusterRef_->position().Y(),superClusterRef_->position().Z() );
19 
20  clusterPos = clusterPos.Unit();
21  double E = superClusterRef_->energy();
22  clusterPos *= E;
23  double ET = sqrt (clusterPos.X()*clusterPos.X() + clusterPos.Y()*clusterPos.Y());
24 
25  out << setprecision(3);
26  out << setiosflags(ios::right);
27  out << setiosflags(ios::fixed);
28  out << setw(4) <<", ET =" << setw(7) << ET;
29  out << setw(4) <<", E =" << setw(7) << E;
30  out << " (eta,phi,z)= (";
31  out << superClusterRef_->position().Eta()<<",";
32  out << superClusterRef_->position().Phi()<<",";
33  out << superClusterRef_->position().Z() <<")";
34  out << resetiosflags(ios::right|ios::fixed);
35 }
SuperClusterRef superClusterRef_
reference to the corresponding cluster
T sqrt(T t)
Definition: SSEVec.h:28
tuple out
Definition: dbtoconf.py:99
#define ET
float reco::PFBlockElementSuperCluster::ecalIso ( ) const
inline
Returns
the ecal isolation

Definition at line 54 of file PFBlockElementSuperCluster.h.

References ecalIso_.

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

Definition at line 57 of file PFBlockElementSuperCluster.h.

References hcalIso_.

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

Definition at line 60 of file PFBlockElementSuperCluster.h.

References HoE_.

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

set the ecal Iso

Definition at line 42 of file PFBlockElementSuperCluster.h.

References ecalIso_.

Referenced by PFBlockElementSuperClusterProducer::produce().

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

set the had Iso

Definition at line 45 of file PFBlockElementSuperCluster.h.

References hcalIso_.

Referenced by PFBlockElementSuperClusterProducer::produce().

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

set H/E

Definition at line 48 of file PFBlockElementSuperCluster.h.

References HoE_.

Referenced by PFBlockElementSuperClusterProducer::produce().

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

set the track Iso

Definition at line 39 of file PFBlockElementSuperCluster.h.

References trackIso_.

Referenced by PFBlockElementSuperClusterProducer::produce().

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

Definition at line 33 of file PFBlockElementSuperCluster.h.

References superClusterRef_.

33 {return superClusterRef_;}
SuperClusterRef superClusterRef_
reference to the corresponding cluster
float reco::PFBlockElementSuperCluster::trackIso ( ) const
inline
Returns
the track isolation

Definition at line 51 of file PFBlockElementSuperCluster.h.

References trackIso_.

Member Data Documentation

float reco::PFBlockElementSuperCluster::ecalIso_
private

Definition at line 67 of file PFBlockElementSuperCluster.h.

Referenced by ecalIso(), and setEcalIso().

float reco::PFBlockElementSuperCluster::hcalIso_
private

Definition at line 68 of file PFBlockElementSuperCluster.h.

Referenced by hcalIso(), and setHcalIso().

float reco::PFBlockElementSuperCluster::HoE_
private

Definition at line 69 of file PFBlockElementSuperCluster.h.

Referenced by hoverE(), and setHoE().

SuperClusterRef reco::PFBlockElementSuperCluster::superClusterRef_
private

reference to the corresponding cluster

Definition at line 64 of file PFBlockElementSuperCluster.h.

Referenced by superClusterRef().

float reco::PFBlockElementSuperCluster::trackIso_
private

Definition at line 66 of file PFBlockElementSuperCluster.h.

Referenced by setTrackIso(), and trackIso().