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::PFBlockElementBrem Class Reference

Track Element. More...

#include <PFBlockElementBrem.h>

Inheritance diagram for reco::PFBlockElementBrem:
reco::PFBlockElement

Public Member Functions

PFBlockElementclone () const
 necessary to have the edm::OwnVector<PFBlockElement> working More...
 
double DeltaP () const
 
void Dump (std::ostream &out=std::cout, const char *tab=" ") const
 print the object inside the element More...
 
const reco::GsfTrackRefGsftrackRef () const
 
const GsfPFRecTrackRefGsftrackRefPF () const
 
unsigned int indTrajPoint () const
 
 PFBlockElementBrem ()
 
 PFBlockElementBrem (const GsfPFRecTrackRef &gsfref, const double DeltaP, const double SigmaDeltaP, const unsigned int indTrajPoint)
 
const math::XYZPointFpositionAtECALEntrance () const
 
double SigmaDeltaP () const
 
const PFRecTracktrackPF () const
 
- Public Member Functions inherited from reco::PFBlockElement
virtual const PFClusterRefclusterRef () const
 
virtual const ConversionRefVectorconvRefs () const
 
virtual const
PFDisplacedTrackerVertexRef
displacedVertexRef (TrackType trType) const
 
const PFMultilinksTypegetMultilinks () const
 
unsigned index () const
 
virtual bool isLinkedToDisplacedVertex () const
 
bool isMultilinksValide () const
 
virtual bool isPrimary () const
 
virtual bool isSecondary () const
 
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)
 
void setMultilinks (const PFMultiLinksTC &ml)
 
void setMultilinksList (const PFMultilinksType &links)
 
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 const reco::TrackReftrackRef () const
 
virtual const PFRecTrackReftrackRefPF () const
 
virtual bool trackType (TrackType trType) const
 
Type type () const
 
void unLock ()
 unlock element More...
 
virtual const
VertexCompositeCandidateRef
V0Ref () const
 
virtual ~PFBlockElement ()
 destructor More...
 

Private Attributes

double deltaP_
 
reco::GsfTrackRef GsftrackRef_
 reference to the corresponding track More...
 
GsfPFRecTrackRef GsftrackRefPF_
 reference to the corresponding track (transient) More...
 
unsigned int indPoint_
 
math::XYZPointF positionAtECALEntrance_
 
double sigmadeltaP_
 

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,
  kNBETypes =12
}
 
- Protected Attributes inherited from reco::PFBlockElement
unsigned index_
 index in block vector More...
 
bool locked_
 
PFMultiLinksTC multilinks_
 
Type type_
 
- Static Protected Attributes inherited from reco::PFBlockElement
static const ConversionRefVector nullConv_ = reco::ConversionRefVector()
 
static const MuonRef nullMuon_ = reco::MuonRef()
 
static const PFClusterRef nullPFCluster_ = reco::PFClusterRef()
 
static const
PFDisplacedTrackerVertexRef 
nullPFDispVertex_
 
static const PFRecTrackRef nullPFRecTrack_ = reco::PFRecTrackRef()
 
static const reco::TrackRef nullTrack_ = reco::TrackRef()
 
static const
VertexCompositeCandidateRef 
nullVertex_ = reco::VertexCompositeCandidateRef()
 

Detailed Description

Track Element.

this class contains a reference to a PFRecTrack

Definition at line 17 of file PFBlockElementBrem.h.

Constructor & Destructor Documentation

reco::PFBlockElementBrem::PFBlockElementBrem ( )
inline

Definition at line 20 of file PFBlockElementBrem.h.

Referenced by clone().

20 {}
PFBlockElementBrem::PFBlockElementBrem ( const GsfPFRecTrackRef gsfref,
const double  DeltaP,
const double  SigmaDeltaP,
const unsigned int  indTrajPoint 
)

Definition at line 13 of file PFBlockElementBrem.cc.

References reco::PFTrajectoryPoint::ECALEntrance, GsftrackRefPF(), indPoint_, reco::PFTrajectoryPoint::isValid(), reco::PFTrajectoryPoint::position(), and positionAtECALEntrance_.

14  :
16  GsftrackRefPF_( gsfref ),
17  GsftrackRef_( gsfref->gsfTrackRef() ),
18  deltaP_(DeltaP),
21 
22  const reco::PFTrajectoryPoint& atECAL
23  = ((*GsftrackRefPF()).PFRecBrem()[(indPoint_-2)]).extrapolatedPoint( reco::PFTrajectoryPoint::ECALEntrance );
24  if( atECAL.isValid() )
25  positionAtECALEntrance_.SetCoordinates( atECAL.position().x(),
26  atECAL.position().y(),
27  atECAL.position().z() );
28 
29 }
math::XYZPointF positionAtECALEntrance_
const math::XYZPoint & position() const
cartesian position (x, y, z)
unsigned int indTrajPoint() const
PFBlockElement(Type type=NONE)
standard constructor
reco::GsfTrackRef GsftrackRef_
reference to the corresponding track
const GsfPFRecTrackRef & GsftrackRefPF() const
bool isValid() const
is this point valid ?
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
GsfPFRecTrackRef GsftrackRefPF_
reference to the corresponding track (transient)

Member Function Documentation

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

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

Implements reco::PFBlockElement.

Definition at line 25 of file PFBlockElementBrem.h.

References PFBlockElementBrem().

25 { return new PFBlockElementBrem(*this); }
double reco::PFBlockElementBrem::DeltaP ( ) const
inline

Definition at line 43 of file PFBlockElementBrem.h.

References deltaP_.

43 {return deltaP_;}
void PFBlockElementBrem::Dump ( std::ostream &  out = std::cout,
const char *  tab = " " 
) const
virtual

print the object inside the element

Reimplemented from reco::PFBlockElement.

Definition at line 32 of file PFBlockElementBrem.cc.

References deltaP_, GsftrackRefPF_, indPoint_, edm::Ref< C, T, F >::isNull(), and sigmadeltaP_.

33  {
34 
35  if(! out ) return;
36 
37  if( !GsftrackRefPF_.isNull() ) {
38 
39  double charge = 0.;
40  double dp = deltaP_;
41  double sigmadp = sigmadeltaP_;
42  int indextrj = (indPoint_-2);
43  out<<setprecision(0);
44  out<<tab<<setw(7)<<"charge="<<setw(3)<<charge;
45  out<<setprecision(3);
46  out<<setiosflags(ios::right);
47  out<<setiosflags(ios::fixed);
48  out<<", DeltaP= "<< dp;
49  out<<", SigmaDeltaP= " << sigmadp;
50  out<<", Traj Point= " << indextrj;
51  out<<resetiosflags(ios::right|ios::fixed); }
52 
53 }
bool isNull() const
Checks for null.
Definition: Ref.h:247
tuple out
Definition: dbtoconf.py:99
GsfPFRecTrackRef GsftrackRefPF_
reference to the corresponding track (transient)
const reco::GsfTrackRef& reco::PFBlockElementBrem::GsftrackRef ( ) const
inline
Returns
reference to the corresponding Track

Definition at line 35 of file PFBlockElementBrem.h.

References GsftrackRef_.

35  {
36  return GsftrackRef_;
37  }
reco::GsfTrackRef GsftrackRef_
reference to the corresponding track
const GsfPFRecTrackRef& reco::PFBlockElementBrem::GsftrackRefPF ( ) const
inline

Definition at line 30 of file PFBlockElementBrem.h.

References GsftrackRefPF_.

Referenced by PFBlockElementBrem(), GSFAndBREMLinker::testLink(), and trackPF().

30  {
31  return GsftrackRefPF_;
32  }
GsfPFRecTrackRef GsftrackRefPF_
reference to the corresponding track (transient)
unsigned int reco::PFBlockElementBrem::indTrajPoint ( ) const
inline

Definition at line 45 of file PFBlockElementBrem.h.

References indPoint_.

Referenced by PFElectronAlgo::SetIDOutputs(), and PFElectronAlgo::SetLinks().

45 {return indPoint_;}
const math::XYZPointF& reco::PFBlockElementBrem::positionAtECALEntrance ( ) const
inline
Returns
position at ECAL entrance

Definition at line 48 of file PFBlockElementBrem.h.

References positionAtECALEntrance_.

Referenced by PFElectronAlgo::SetCandidates(), and PFElectronAlgo::SetLinks().

48  {
50  }
math::XYZPointF positionAtECALEntrance_
double reco::PFBlockElementBrem::SigmaDeltaP ( ) const
inline

Definition at line 44 of file PFBlockElementBrem.h.

References sigmadeltaP_.

const PFRecTrack& reco::PFBlockElementBrem::trackPF ( ) const
inline

Definition at line 39 of file PFBlockElementBrem.h.

References GsftrackRefPF(), and indPoint_.

Referenced by ECALAndBREMLinker::testLink(), and HCALAndBREMLinker::testLink().

40  { return ((*GsftrackRefPF()).PFRecBrem()[(indPoint_-2)]);}
const GsfPFRecTrackRef & GsftrackRefPF() const

Member Data Documentation

double reco::PFBlockElementBrem::deltaP_
private

Definition at line 61 of file PFBlockElementBrem.h.

Referenced by DeltaP(), and Dump().

reco::GsfTrackRef reco::PFBlockElementBrem::GsftrackRef_
private

reference to the corresponding track

Definition at line 59 of file PFBlockElementBrem.h.

Referenced by GsftrackRef().

GsfPFRecTrackRef reco::PFBlockElementBrem::GsftrackRefPF_
private

reference to the corresponding track (transient)

Definition at line 56 of file PFBlockElementBrem.h.

Referenced by Dump(), and GsftrackRefPF().

unsigned int reco::PFBlockElementBrem::indPoint_
private

Definition at line 63 of file PFBlockElementBrem.h.

Referenced by Dump(), indTrajPoint(), PFBlockElementBrem(), and trackPF().

math::XYZPointF reco::PFBlockElementBrem::positionAtECALEntrance_
private

Definition at line 64 of file PFBlockElementBrem.h.

Referenced by PFBlockElementBrem(), and positionAtECALEntrance().

double reco::PFBlockElementBrem::sigmadeltaP_
private

Definition at line 62 of file PFBlockElementBrem.h.

Referenced by Dump(), and SigmaDeltaP().