CMS 3D CMS Logo

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 override
 necessary to have the edm::OwnVector<PFBlockElement> working More...
 
double DeltaP () const
 
void Dump (std::ostream &out=std::cout, const char *tab=" ") const override
 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 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

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,
  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

Track Element.

this class contains a reference to a PFRecTrack

Definition at line 17 of file PFBlockElementBrem.h.

Constructor & Destructor Documentation

◆ PFBlockElementBrem() [1/2]

reco::PFBlockElementBrem::PFBlockElementBrem ( )
inline

Definition at line 19 of file PFBlockElementBrem.h.

19 {}

Referenced by clone().

◆ PFBlockElementBrem() [2/2]

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

Definition at line 12 of file PFBlockElementBrem.cc.

17  GsftrackRefPF_(gsfref),
18  GsftrackRef_(gsfref->gsfTrackRef()),
19  deltaP_(DeltaP),
22  const reco::PFTrajectoryPoint& atECAL =
23  ((*GsftrackRefPF()).PFRecBrem()[(indPoint_ - 2)]).extrapolatedPoint(reco::PFTrajectoryPoint::ECALEntrance);
24  if (atECAL.isValid())
25  positionAtECALEntrance_.SetCoordinates(atECAL.position().x(), atECAL.position().y(), atECAL.position().z());
26 }

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

Member Function Documentation

◆ clone()

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

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

Implements reco::PFBlockElement.

Definition at line 26 of file PFBlockElementBrem.h.

26 { return new PFBlockElementBrem(*this); }

References PFBlockElementBrem().

◆ DeltaP()

double reco::PFBlockElementBrem::DeltaP ( ) const
inline

Definition at line 36 of file PFBlockElementBrem.h.

36 { return deltaP_; }

References deltaP_.

◆ Dump()

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

print the object inside the element

Reimplemented from reco::PFBlockElement.

Definition at line 28 of file PFBlockElementBrem.cc.

28  {
29  if (!out)
30  return;
31 
32  if (!GsftrackRefPF_.isNull()) {
33  double charge = 0.;
34  double dp = deltaP_;
35  double sigmadp = sigmadeltaP_;
36  int indextrj = (indPoint_ - 2);
37  out << setprecision(0);
38  out << tab << setw(7) << "charge=" << setw(3) << charge;
39  out << setprecision(3);
40  out << setiosflags(ios::right);
41  out << setiosflags(ios::fixed);
42  out << ", DeltaP= " << dp;
43  out << ", SigmaDeltaP= " << sigmadp;
44  out << ", Traj Point= " << indextrj;
45  out << resetiosflags(ios::right | ios::fixed);
46  }
47 }

References ALCARECOTkAlJpsiMuMu_cff::charge, deltaP_, Calorimetry_cff::dp, alignBH_cfg::fixed, GsftrackRefPF_, indPoint_, edm::Ref< C, T, F >::isNull(), MillePedeFileConverter_cfg::out, and sigmadeltaP_.

Referenced by reco::operator<<().

◆ GsftrackRef()

const reco::GsfTrackRef& reco::PFBlockElementBrem::GsftrackRef ( ) const
inline
Returns
reference to the corresponding Track

Definition at line 32 of file PFBlockElementBrem.h.

32 { return GsftrackRef_; }

References GsftrackRef_.

◆ GsftrackRefPF()

const GsfPFRecTrackRef& reco::PFBlockElementBrem::GsftrackRefPF ( ) const
inline

Definition at line 29 of file PFBlockElementBrem.h.

29 { return GsftrackRefPF_; }

References GsftrackRefPF_.

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

◆ indTrajPoint()

unsigned int reco::PFBlockElementBrem::indTrajPoint ( ) const
inline

Definition at line 38 of file PFBlockElementBrem.h.

38 { return indPoint_; }

References indPoint_.

◆ positionAtECALEntrance()

const math::XYZPointF& reco::PFBlockElementBrem::positionAtECALEntrance ( ) const
inline
Returns
position at ECAL entrance

Definition at line 41 of file PFBlockElementBrem.h.

41 { return positionAtECALEntrance_; }

References positionAtECALEntrance_.

◆ SigmaDeltaP()

double reco::PFBlockElementBrem::SigmaDeltaP ( ) const
inline

Definition at line 37 of file PFBlockElementBrem.h.

37 { return sigmadeltaP_; }

References sigmadeltaP_.

◆ trackPF()

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

Definition at line 34 of file PFBlockElementBrem.h.

34 { return ((*GsftrackRefPF()).PFRecBrem()[(indPoint_ - 2)]); }

References GsftrackRefPF(), and indPoint_.

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

Member Data Documentation

◆ deltaP_

double reco::PFBlockElementBrem::deltaP_
private

Definition at line 50 of file PFBlockElementBrem.h.

Referenced by DeltaP(), and Dump().

◆ GsftrackRef_

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

reference to the corresponding track

Definition at line 48 of file PFBlockElementBrem.h.

Referenced by GsftrackRef().

◆ GsftrackRefPF_

GsfPFRecTrackRef reco::PFBlockElementBrem::GsftrackRefPF_
private

reference to the corresponding track (transient)

Definition at line 45 of file PFBlockElementBrem.h.

Referenced by Dump(), and GsftrackRefPF().

◆ indPoint_

unsigned int reco::PFBlockElementBrem::indPoint_
private

Definition at line 52 of file PFBlockElementBrem.h.

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

◆ positionAtECALEntrance_

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

Definition at line 53 of file PFBlockElementBrem.h.

Referenced by PFBlockElementBrem(), and positionAtECALEntrance().

◆ sigmadeltaP_

double reco::PFBlockElementBrem::sigmadeltaP_
private

Definition at line 51 of file PFBlockElementBrem.h.

Referenced by Dump(), and SigmaDeltaP().

alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
reco::PFBlockElementBrem::positionAtECALEntrance_
math::XYZPointF positionAtECALEntrance_
Definition: PFBlockElementBrem.h:53
reco::PFBlockElementBrem::GsftrackRefPF
const GsfPFRecTrackRef & GsftrackRefPF() const
Definition: PFBlockElementBrem.h:29
reco::PFBlockElementBrem::SigmaDeltaP
double SigmaDeltaP() const
Definition: PFBlockElementBrem.h:37
edm::Ref::isNull
bool isNull() const
Checks for null.
Definition: Ref.h:235
reco::PFBlockElementBrem::indTrajPoint
unsigned int indTrajPoint() const
Definition: PFBlockElementBrem.h:38
reco::PFBlockElementBrem::sigmadeltaP_
double sigmadeltaP_
Definition: PFBlockElementBrem.h:51
reco::PFBlockElementBrem::PFBlockElementBrem
PFBlockElementBrem()
Definition: PFBlockElementBrem.h:19
Calorimetry_cff.dp
dp
Definition: Calorimetry_cff.py:157
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
reco::PFBlockElementBrem::DeltaP
double DeltaP() const
Definition: PFBlockElementBrem.h:36
reco::PFBlockElementBrem::GsftrackRefPF_
GsfPFRecTrackRef GsftrackRefPF_
reference to the corresponding track (transient)
Definition: PFBlockElementBrem.h:45
reco::PFBlockElementBrem::indPoint_
unsigned int indPoint_
Definition: PFBlockElementBrem.h:52
reco::PFTrajectoryPoint::position
const math::XYZPoint & position() const
cartesian position (x, y, z)
Definition: PFTrajectoryPoint.h:100
reco::PFBlockElement::BREM
Definition: PFBlockElement.h:38
reco::PFBlockElementBrem::GsftrackRef_
reco::GsfTrackRef GsftrackRef_
reference to the corresponding track
Definition: PFBlockElementBrem.h:48
reco::PFBlockElementBrem::deltaP_
double deltaP_
Definition: PFBlockElementBrem.h:50
reco::PFTrajectoryPoint::isValid
bool isValid() const
is this point valid ?
Definition: PFTrajectoryPoint.h:84
reco::PFTrajectoryPoint::ECALEntrance
ECAL front face.
Definition: PFTrajectoryPoint.h:43
reco::PFTrajectoryPoint
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
Definition: PFTrajectoryPoint.h:26
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
reco::PFBlockElement::PFBlockElement
PFBlockElement(Type type=NONE)
standard constructor
Definition: PFBlockElement.h:50