CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes
reco::Conversion Class Reference

#include <DataFormats/EgammaCandidates/interface/Conversion.h>

Public Types

enum  ConversionAlgorithm {
  undefined =0, ecalSeeded =1, trackerOnly =2, mixed =3,
  pflow =4, algoSize =5
}
 
enum  ConversionQuality {
  generalTracksOnly =0, arbitratedEcalSeeded =1, arbitratedMerged =2, arbitratedMergedEcalGeneral =3,
  highPurity =8, highEfficiency =9, ecalMatched1Track =10, ecalMatched2Track =11
}
 

Public Member Functions

ConversionAlgorithm algo () const
 
std::string algoName () const
 
const std::vector
< reco::CaloClusterPtr > & 
bcMatchingWithTracks () const
 
reco::CaloClusterPtrVector caloCluster () const
 Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster) More...
 
Conversionclone () const
 returns a clone of the candidate More...
 
 Conversion ()
 
 Conversion (const reco::CaloClusterPtrVector clu, const std::vector< edm::RefToBase< reco::Track > > tr, const std::vector< math::XYZPointF > trackPositionAtEcal, const reco::Vertex &convVtx, const std::vector< reco::CaloClusterPtr > &matchingBC, const float DCA, const std::vector< math::XYZPointF > &innPoint, const std::vector< math::XYZVectorF > &trackPin, const std::vector< math::XYZVectorF > &trackPout, const std::vector< uint8_t > nHitsBeforeVtx, const std::vector< Measurement1DFloat > &dlClosestHitToVtx, uint8_t nSharedHits, const float mva, ConversionAlgorithm=undefined)
 
 Conversion (const reco::CaloClusterPtrVector clu, const std::vector< reco::TrackRef > tr, const std::vector< math::XYZPointF > trackPositionAtEcal, const reco::Vertex &convVtx, const std::vector< reco::CaloClusterPtr > &matchingBC, const float DCA, const std::vector< math::XYZPointF > &innPoint, const std::vector< math::XYZVectorF > &trackPin, const std::vector< math::XYZVectorF > &trackPout, const float mva, ConversionAlgorithm=undefined)
 
 Conversion (const reco::CaloClusterPtrVector clu, const std::vector< reco::TrackRef > tr, const reco::Vertex &convVtx, ConversionAlgorithm=undefined)
 
 Conversion (const reco::CaloClusterPtrVector clu, const std::vector< edm::RefToBase< reco::Track > > tr, const reco::Vertex &convVtx, ConversionAlgorithm=undefined)
 
const reco::VertexconversionVertex () const
 returns the reco conversion vertex More...
 
double dEtaTracksAtEcal () const
 
double distOfMinimumApproach () const
 
const std::vector
< Measurement1DFloat > & 
dlClosestHitToVtx () const
 Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positions. More...
 
double dPhiTracksAtEcal () const
 
double dPhiTracksAtVtx () const
 
double dxy (const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
 
double dz (const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
 
const std::vector
< math::XYZPointF > & 
ecalImpactPosition () const
 
double EoverP () const
 
double EoverPrefittedTracks () const
 
bool isConverted () const
 Bool flagging objects having track size >0. More...
 
double lxy (const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
 
double lz (const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
 
double MVAout () const
 get the value of the TMVA output More...
 
const std::vector< uint8_t > & nHitsBeforeVtx () const
 Vector of the number of hits before the vertex along each track trajector. More...
 
uint8_t nSharedHits () const
 number of shared hits btw the two track More...
 
unsigned int nTracks () const
 Number of tracks= 0,1,2. More...
 
std::vector< float > const oneLegMVA ()
 get the MVS output from PF for one leg conversions More...
 
double pairCotThetaSeparation () const
 Delta cot(Theta) where Theta is the angle in the (y,z) plane between the two tracks. Original tracks are used. More...
 
double pairInvariantMass () const
 if nTracks=2 returns the pair invariant mass. Original tracks are used here More...
 
math::XYZVectorF pairMomentum () const
 Conversion tracks momentum from the tracks inner momentum. More...
 
bool quality (ConversionQuality q) const
 
math::XYZTLorentzVectorF refittedPair4Momentum () const
 Conversion track pair 4-momentum from the tracks refitted with vertex constraint. More...
 
math::XYZVectorF refittedPairMomentum () const
 Conversion tracks momentum from the tracks refitted with vertex constraint. More...
 
void setConversionAlgorithm (const ConversionAlgorithm a, bool set=true)
 Conversion Track algorithm/provenance. More...
 
void setMatchingSuperCluster (const reco::CaloClusterPtrVector &sc)
 
void setMVAout (const float &mva)
 set the value of the TMVA output More...
 
void setOneLegMVA (const std::vector< float > &mva)
 set the MVS output from PF for one leg conversions More...
 
void setQuality (ConversionQuality q, bool b)
 
std::vector< edm::RefToBase
< reco::Track > > 
tracks () const
 vector of track to base references More...
 
const std::vector
< math::XYZPointF > & 
tracksInnerPosition () const
 Vector containing the position of the innermost hit of each track. More...
 
const std::vector
< math::XYZVectorF > & 
tracksPin () const
 Vector of track momentum measured at the innermost hit. More...
 
const std::vector
< math::XYZVectorF > & 
tracksPout () const
 Vector of track momentum measured at the outermost hit. More...
 
std::vector< double > tracksSigned_d0 () const
 signed transverse impact parameter for each track More...
 
double zOfPrimaryVertexFromTracks (const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
 
virtual ~Conversion ()
 destructor More...
 

Static Public Member Functions

static ConversionAlgorithm algoByName (const std::string &name)
 
static std::string algoName (ConversionAlgorithm)
 

Static Public Attributes

static const std::string algoNames [] = { "undefined","ecalSeeded","trackerOnly","mixed"}
 

Private Attributes

uint8_t algorithm_
 conversion algorithm/provenance More...
 
reco::CaloClusterPtrVector caloCluster_
 vector pointer to a/multiple seed CaloCluster(s) More...
 
std::vector< Measurement1DFloatdlClosestHitToVtx_
 signed decay length and uncertainty from nearest hit on track to conversion vertex More...
 
std::vector< uint8_t > nHitsBeforeVtx_
 number of hits before the vertex on each trackerOnly More...
 
uint8_t nSharedHits_
 number of shared hits between tracks More...
 
uint16_t qualityMask_
 
reco::Vertex theConversionVertex_
 Fitted Kalman conversion vertex. More...
 
std::vector< reco::CaloClusterPtrtheMatchingBCs_
 Clusters mathing the tracks (these are not the seeds) More...
 
float theMinDistOfApproach_
 Distance of min approach of the two tracks. More...
 
float theMVAout_
 TMVA output. More...
 
std::vector< float > theOneLegMVA_
 vectors of TMVA outputs from pflow for one leg conversions More...
 
std::vector< math::XYZPointFthePositionAtEcal_
 position at the ECAl surface of the track extrapolation More...
 
std::vector< math::XYZPointFtheTrackInnerPosition_
 P_in of tracks. More...
 
std::vector< math::XYZVectorFtheTrackPin_
 P_in of tracks. More...
 
std::vector< math::XYZVectorFtheTrackPout_
 P_out of tracks. More...
 
std::vector< reco::TrackReftracks_
 vector of Track references More...
 
std::vector< edm::RefToBase
< reco::Track > > 
trackToBaseRefs_
 vector Track RefToBase More...
 

Detailed Description

Author
N.Marinelli University of Notre Dame, US
Version
Id:
Conversion.h,v 1.23 2011/03/04 20:02:38 bendavid Exp

Definition at line 25 of file Conversion.h.

Member Enumeration Documentation

Enumerator
undefined 
ecalSeeded 
trackerOnly 
mixed 
pflow 
algoSize 

Definition at line 28 of file Conversion.h.

Enumerator
generalTracksOnly 
arbitratedEcalSeeded 
arbitratedMerged 
arbitratedMergedEcalGeneral 
highPurity 
highEfficiency 
ecalMatched1Track 
ecalMatched2Track 

Definition at line 35 of file Conversion.h.

Constructor & Destructor Documentation

Conversion::Conversion ( )

Definition at line 143 of file Conversion.cc.

References algorithm_, nSharedHits_, qualityMask_, theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.

Referenced by clone().

143  {
144 
145  algorithm_=0;
146  qualityMask_=0;
147  theMinDistOfApproach_ = 9999.;
148  nSharedHits_ = 0;
149  theMVAout_ = 9999.;
150  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
151  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
152  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
153  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
154  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
155  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
156  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
157  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
158 
159 }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:211
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:11
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:224
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:207
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:209
float theMVAout_
TMVA output.
Definition: Conversion.h:219
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:205
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:199
Conversion::Conversion ( const reco::CaloClusterPtrVector  clu,
const std::vector< edm::RefToBase< reco::Track > >  tr,
const std::vector< math::XYZPointF trackPositionAtEcal,
const reco::Vertex convVtx,
const std::vector< reco::CaloClusterPtr > &  matchingBC,
const float  DCA,
const std::vector< math::XYZPointF > &  innPoint,
const std::vector< math::XYZVectorF > &  trackPin,
const std::vector< math::XYZVectorF > &  trackPout,
const std::vector< uint8_t >  nHitsBeforeVtx,
const std::vector< Measurement1DFloat > &  dlClosestHitToVtx,
uint8_t  nSharedHits,
const float  mva,
ConversionAlgorithm  algo = undefined 
)

Definition at line 51 of file Conversion.cc.

64  :
65 
66 
68  thePositionAtEcal_(trackPositionAtEcal),
69  theConversionVertex_(convVtx),
70  theMatchingBCs_(matchingBC),
72  theTrackInnerPosition_(innPoint),
73  theTrackPin_(trackPin),
74  theTrackPout_(trackPout),
78  theMVAout_(mva),
80  qualityMask_(0)
81  {
82 
83  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:211
ConversionAlgorithm algo() const
Definition: Conversion.h:229
const std::vector< Measurement1DFloat > & dlClosestHitToVtx() const
Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positi...
Definition: Conversion.h:167
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:193
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:224
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:207
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
uint8_t nSharedHits() const
number of shared hits btw the two track
Definition: Conversion.h:169
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:209
float theMVAout_
TMVA output.
Definition: Conversion.h:219
std::vector< reco::CaloClusterPtr > theMatchingBCs_
Clusters mathing the tracks (these are not the seeds)
Definition: Conversion.h:203
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:205
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:199
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:197
const std::vector< uint8_t > & nHitsBeforeVtx() const
Vector of the number of hits before the vertex along each track trajector.
Definition: Conversion.h:165
std::vector< Measurement1DFloat > dlClosestHitToVtx_
signed decay length and uncertainty from nearest hit on track to conversion vertex ...
Definition: Conversion.h:215
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:201
std::vector< uint8_t > nHitsBeforeVtx_
number of hits before the vertex on each trackerOnly
Definition: Conversion.h:213
Conversion::Conversion ( const reco::CaloClusterPtrVector  clu,
const std::vector< reco::TrackRef tr,
const std::vector< math::XYZPointF trackPositionAtEcal,
const reco::Vertex convVtx,
const std::vector< reco::CaloClusterPtr > &  matchingBC,
const float  DCA,
const std::vector< math::XYZPointF > &  innPoint,
const std::vector< math::XYZVectorF > &  trackPin,
const std::vector< math::XYZVectorF > &  trackPout,
const float  mva,
ConversionAlgorithm  algo = undefined 
)

Definition at line 19 of file Conversion.cc.

29  :
30 
31 
32  caloCluster_(sc), tracks_(tr),
33  thePositionAtEcal_(trackPositionAtEcal),
34  theConversionVertex_(convVtx),
35  theMatchingBCs_(matchingBC),
37  theTrackInnerPosition_(innPoint),
38  theTrackPin_(trackPin),
39  theTrackPout_(trackPout),
40  nSharedHits_(0),
41  theMVAout_(mva),
43  qualityMask_(0)
44  {
45 
46  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:211
ConversionAlgorithm algo() const
Definition: Conversion.h:229
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:193
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:224
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:207
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:209
float theMVAout_
TMVA output.
Definition: Conversion.h:219
std::vector< reco::CaloClusterPtr > theMatchingBCs_
Clusters mathing the tracks (these are not the seeds)
Definition: Conversion.h:203
std::vector< reco::TrackRef > tracks_
vector of Track references
Definition: Conversion.h:195
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:205
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:199
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:201
Conversion::Conversion ( const reco::CaloClusterPtrVector  clu,
const std::vector< reco::TrackRef tr,
const reco::Vertex convVtx,
ConversionAlgorithm  algo = undefined 
)

Definition at line 88 of file Conversion.cc.

References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.

91  :
92  caloCluster_(sc), tracks_(tr),
93  theConversionVertex_(convVtx),
94  nSharedHits_(0),
96  qualityMask_(0)
97  {
98 
99 
100  theMinDistOfApproach_ = 9999.;
101  theMVAout_ = 9999.;
102  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
103  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
104  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
105  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
106  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
107  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
108  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
109  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
110 
111 
112  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:211
ConversionAlgorithm algo() const
Definition: Conversion.h:229
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:193
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:11
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:224
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:207
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:209
float theMVAout_
TMVA output.
Definition: Conversion.h:219
std::vector< reco::TrackRef > tracks_
vector of Track references
Definition: Conversion.h:195
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:205
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:199
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:201
Conversion::Conversion ( const reco::CaloClusterPtrVector  clu,
const std::vector< edm::RefToBase< reco::Track > >  tr,
const reco::Vertex convVtx,
ConversionAlgorithm  algo = undefined 
)

Definition at line 115 of file Conversion.cc.

References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.

118  :
119  caloCluster_(sc), trackToBaseRefs_(tr),
120  theConversionVertex_(convVtx),
121  nSharedHits_(0),
122  algorithm_(algo),
123  qualityMask_(0)
124  {
125 
126 
127  theMinDistOfApproach_ = 9999.;
128  theMVAout_ = 9999.;
129  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
130  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
131  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
132  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
133  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
134  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
135  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
136  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
137 
138 
139  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:211
ConversionAlgorithm algo() const
Definition: Conversion.h:229
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:193
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:11
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:224
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:207
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:209
float theMVAout_
TMVA output.
Definition: Conversion.h:219
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:205
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:199
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:197
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:201
Conversion::~Conversion ( )
virtual

destructor

Definition at line 162 of file Conversion.cc.

162 { }

Member Function Documentation

Conversion::ConversionAlgorithm reco::Conversion::algo ( ) const
inline

Definition at line 229 of file Conversion.h.

References algorithm_.

229  {
231  }
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
Conversion::ConversionAlgorithm Conversion::algoByName ( const std::string &  name)
static

Definition at line 167 of file Conversion.cc.

References algoNames, algoSize, spr::find(), getHLTprescales::index, findQualityFiles::size, and undefined.

Referenced by ConversionProducer::buildCollection(), and ConvertedPhotonProducer::buildCollections().

167  {
170  if(index == size) return undefined;
171 
172  return ConversionAlgorithm(index);
173 }
static const std::string algoNames[]
Definition: Conversion.h:44
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
tuple size
Write out results.
std::string reco::Conversion::algoName ( ) const
inline

Definition at line 234 of file Conversion.h.

References algorithm_, ecalSeeded, mixed, trackerOnly, and undefined.

234  {
235 
236  switch(algorithm_)
237  {
238  case undefined: return "undefined";
239  case ecalSeeded: return "ecalSeeded";
240  case trackerOnly: return "trackerOnly";
241  case mixed: return "mixed";
242 
243  }
244  return "undefined";
245  }
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
std::string reco::Conversion::algoName ( ConversionAlgorithm  a)
inlinestatic

Definition at line 247 of file Conversion.h.

References algoNames, and algoSize.

247  {
248  if(int(a) < int(algoSize) && int(a)>0) return algoNames[int(a)];
249  return "undefined";
250  }
static const std::string algoNames[]
Definition: Conversion.h:44
double a
Definition: hdecay.h:121
const std::vector<reco::CaloClusterPtr>& reco::Conversion::bcMatchingWithTracks ( ) const
inline

Definition at line 155 of file Conversion.h.

References theMatchingBCs_.

Referenced by dEtaTracksAtEcal(), and dPhiTracksAtEcal().

155 { return theMatchingBCs_;}
std::vector< reco::CaloClusterPtr > theMatchingBCs_
Clusters mathing the tracks (these are not the seeds)
Definition: Conversion.h:203
reco::CaloClusterPtrVector reco::Conversion::caloCluster ( ) const
inline

Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster)

Definition at line 97 of file Conversion.h.

References caloCluster_.

Referenced by EoverP(), and EoverPrefittedTracks().

97 {return caloCluster_ ;}
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:193
Conversion * Conversion::clone ( void  ) const

returns a clone of the candidate

Definition at line 175 of file Conversion.cc.

References Conversion().

Referenced by ConvertedPhotonProducer::cleanCollections().

175  {
176  return new Conversion( * this );
177 }
const reco::Vertex& reco::Conversion::conversionVertex ( ) const
inline

returns the reco conversion vertex

Definition at line 101 of file Conversion.h.

References theConversionVertex_.

Referenced by TkConvValidator::analyze(), dxy(), dz(), ConversionTools::isGoodConversion(), lxy(), lz(), ConversionTools::matchesConversion(), refittedPair4Momentum(), refittedPairMomentum(), and FWConvTrackHitsDetailView::setTextInfo().

101 { return theConversionVertex_ ; }
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:201
double Conversion::dEtaTracksAtEcal ( ) const

Definition at line 366 of file Conversion.cc.

References bcMatchingWithTracks(), ecalImpactPosition(), nTracks(), and query::result.

366  {
367  double result=-99.;
368 
369 
370  if ( nTracks()==2 && bcMatchingWithTracks()[0].isNonnull() && bcMatchingWithTracks()[1].isNonnull() ) {
371 
372  result =ecalImpactPosition()[0].eta() - ecalImpactPosition()[1].eta();
373 
374  }
375 
376 
377 
378  return result;
379 
380 
381 }
tuple result
Definition: query.py:137
const std::vector< reco::CaloClusterPtr > & bcMatchingWithTracks() const
Definition: Conversion.h:155
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
const std::vector< math::XYZPointF > & ecalImpactPosition() const
Definition: Conversion.h:153
double reco::Conversion::distOfMinimumApproach ( ) const
inline

Definition at line 129 of file Conversion.h.

References theMinDistOfApproach_.

Referenced by TkConvValidator::analyze(), and FWConvTrackHitsDetailView::setTextInfo().

129 {return theMinDistOfApproach_;}
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:205
const std::vector<Measurement1DFloat>& reco::Conversion::dlClosestHitToVtx ( ) const
inline

Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positions.

Definition at line 167 of file Conversion.h.

References dlClosestHitToVtx_.

Referenced by TkConvValidator::analyze().

167 { return dlClosestHitToVtx_; }
std::vector< Measurement1DFloat > dlClosestHitToVtx_
signed decay length and uncertainty from nearest hit on track to conversion vertex ...
Definition: Conversion.h:215
double Conversion::dPhiTracksAtEcal ( ) const

Definition at line 341 of file Conversion.cc.

References bcMatchingWithTracks(), ecalImpactPosition(), nTracks(), pi, and query::result.

341  {
342  double result =-99.;
343 
344  if ( nTracks()==2 && bcMatchingWithTracks()[0].isNonnull() && bcMatchingWithTracks()[1].isNonnull() ) {
345 
346  float recoPhi1 = ecalImpactPosition()[0].phi();
347  if( recoPhi1 > pi) { recoPhi1 = recoPhi1 - twopi;}
348  if( recoPhi1 < -pi) { recoPhi1 = recoPhi1 + twopi;}
349 
350  float recoPhi2 = ecalImpactPosition()[1].phi();
351  if( recoPhi2 > pi) { recoPhi2 = recoPhi2 - twopi;}
352  if( recoPhi2 < -pi) { recoPhi2 = recoPhi2 + twopi;}
353 
354  result = recoPhi1 -recoPhi2;
355 
356  if( result > pi) { result = result - twopi;}
357  if( result < -pi) { result = result + twopi;}
358 
359  }
360 
361  return result;
362 
363 
364 }
tuple result
Definition: query.py:137
const std::vector< reco::CaloClusterPtr > & bcMatchingWithTracks() const
Definition: Conversion.h:155
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
const std::vector< math::XYZPointF > & ecalImpactPosition() const
Definition: Conversion.h:153
double pi
double Conversion::dPhiTracksAtVtx ( ) const

Definition at line 328 of file Conversion.cc.

References nTracks(), pi, query::result, and tracksPin().

Referenced by TkConvValidator::analyze(), and FWConvTrackHitsDetailView::setTextInfo().

328  {
329  double result=-99;
330  if ( nTracks()==2 ) {
331  result = tracksPin()[0].phi() - tracksPin()[1].phi();
332  if( result > pi) { result = result - twopi;}
333  if( result < -pi) { result = result + twopi;}
334  }
335 
336  return result;
337 
338 
339 }
tuple result
Definition: query.py:137
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:163
double pi
double Conversion::dxy ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 383 of file Conversion.cc.

References conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), reco::Vertex::x(), and reco::Vertex::y().

383  {
384 
385  const reco::Vertex &vtx = conversionVertex();
386  if (!vtx.isValid()) return -9999.;
387 
389 
390  double dxy = (-(vtx.x() - myBeamSpot.x())*mom.y() + (vtx.y() - myBeamSpot.y())*mom.x())/mom.rho();
391  return dxy;
392 
393 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:101
double y() const
y coordinate
Definition: Vertex.h:97
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:61
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:262
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
double x() const
x coordinate
Definition: Vertex.h:95
double dxy(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:383
double Conversion::dz ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 395 of file Conversion.cc.

References conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), reco::Vertex::x(), reco::Vertex::y(), and reco::Vertex::z().

Referenced by zOfPrimaryVertexFromTracks().

395  {
396 
397  const reco::Vertex &vtx = conversionVertex();
398  if (!vtx.isValid()) return -9999.;
399 
401 
402  double dz = (vtx.z()-myBeamSpot.z()) - ((vtx.x()-myBeamSpot.x())*mom.x()+(vtx.y()-myBeamSpot.y())*mom.y())/mom.rho() * mom.z()/mom.rho();
403  return dz;
404 
405 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:101
double y() const
y coordinate
Definition: Vertex.h:97
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:61
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:262
double z() const
y coordinate
Definition: Vertex.h:99
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
double x() const
x coordinate
Definition: Vertex.h:95
double dz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:395
const std::vector<math::XYZPointF>& reco::Conversion::ecalImpactPosition ( ) const
inline

The following are variables provided per each track positions of the track extrapolation at the ECAL front face

Definition at line 153 of file Conversion.h.

References thePositionAtEcal_.

Referenced by dEtaTracksAtEcal(), and dPhiTracksAtEcal().

153 {return thePositionAtEcal_;}
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:199
double Conversion::EoverP ( ) const

Super Cluster energy divided by track pair momentum if Standard seeding method. If a pointer to two (or more clusters) is stored in the conversion, this method returns the energy sum of clusters divided by the track pair momentum Track innermost momentum is used here

Definition at line 273 of file Conversion.cc.

References caloCluster(), i, nTracks(), pairMomentum(), edm::PtrVectorBase::size(), findQualityFiles::size, and mathSSE::sqrt().

Referenced by ConversionLikelihoodCalculator::calculateLikelihood().

273  {
274 
275 
276  double ep=-99.;
277 
278  if ( nTracks() > 0 ) {
279  unsigned int size= this->caloCluster().size();
280  float etot=0.;
281  for ( unsigned int i=0; i<size; i++) {
282  etot+= caloCluster()[i]->energy();
283  }
284  if (this->pairMomentum().Mag2() !=0) ep= etot/sqrt(this->pairMomentum().Mag2());
285  }
286 
287 
288 
289  return ep;
290 
291 }
int i
Definition: DBlmapReader.cc:9
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:73
T sqrt(T t)
Definition: SSEVec.h:28
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
math::XYZVectorF pairMomentum() const
Conversion tracks momentum from the tracks inner momentum.
Definition: Conversion.cc:237
reco::CaloClusterPtrVector caloCluster() const
Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster)
Definition: Conversion.h:97
tuple size
Write out results.
double Conversion::EoverPrefittedTracks ( ) const

Super Cluster energy divided by track pair momentum if Standard seeing method. If a pointer to two (or more clusters) is stored in the conversion, this method returns the energy sum of clusters divided by the track pair momentum Track momentum refitted with vertex constraint is used

Definition at line 295 of file Conversion.cc.

References caloCluster(), i, nTracks(), refittedPairMomentum(), edm::PtrVectorBase::size(), findQualityFiles::size, and mathSSE::sqrt().

295  {
296 
297 
298  double ep=-99.;
299 
300  if ( nTracks() > 0 ) {
301  unsigned int size= this->caloCluster().size();
302  float etot=0.;
303  for ( unsigned int i=0; i<size; i++) {
304  etot+= caloCluster()[i]->energy();
305  }
306  if (this->refittedPairMomentum().Mag2() !=0) ep= etot/sqrt(this->refittedPairMomentum().Mag2());
307  }
308 
309 
310 
311  return ep;
312 
313 }
int i
Definition: DBlmapReader.cc:9
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:73
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:262
T sqrt(T t)
Definition: SSEVec.h:28
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
reco::CaloClusterPtrVector caloCluster() const
Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster)
Definition: Conversion.h:97
tuple size
Write out results.
bool Conversion::isConverted ( ) const

Bool flagging objects having track size >0.

Definition at line 196 of file Conversion.cc.

References nTracks().

196  {
197 
198  if ( this->nTracks() == 2 )
199  return true;
200  else
201  return false;
202 }
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
double Conversion::lxy ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 407 of file Conversion.cc.

References conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), reco::Vertex::x(), and reco::Vertex::y().

407  {
408 
409  const reco::Vertex &vtx = conversionVertex();
410  if (!vtx.isValid()) return -9999.;
411 
413 
414  double dbsx = vtx.x() - myBeamSpot.x();
415  double dbsy = vtx.y() - myBeamSpot.y();
416  double lxy = (mom.x()*dbsx + mom.y()*dbsy)/mom.rho();
417  return lxy;
418 
419 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:101
double y() const
y coordinate
Definition: Vertex.h:97
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:61
double lxy(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:407
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:262
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
double x() const
x coordinate
Definition: Vertex.h:95
double Conversion::lz ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 421 of file Conversion.cc.

References abs, conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), and reco::Vertex::z().

421  {
422 
423  const reco::Vertex &vtx = conversionVertex();
424  if (!vtx.isValid()) return -9999.;
425 
427 
428  double lz = (vtx.z() - myBeamSpot.z())*mom.z()/std::abs(mom.z());
429  return lz;
430 
431 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:101
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:61
#define abs(x)
Definition: mlp_lapack.h:159
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:262
double z() const
y coordinate
Definition: Vertex.h:99
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
double lz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:421
double reco::Conversion::MVAout ( ) const
inline

get the value of the TMVA output

Definition at line 107 of file Conversion.h.

References theMVAout_.

107 { return theMVAout_;}
float theMVAout_
TMVA output.
Definition: Conversion.h:219
const std::vector<uint8_t>& reco::Conversion::nHitsBeforeVtx ( ) const
inline

Vector of the number of hits before the vertex along each track trajector.

Definition at line 165 of file Conversion.h.

References nHitsBeforeVtx_.

Referenced by TkConvValidator::analyze(), and ConversionTools::isGoodConversion().

165 { return nHitsBeforeVtx_; }
std::vector< uint8_t > nHitsBeforeVtx_
number of hits before the vertex on each trackerOnly
Definition: Conversion.h:213
uint8_t reco::Conversion::nSharedHits ( ) const
inline

number of shared hits btw the two track

Definition at line 169 of file Conversion.h.

References nSharedHits_.

Referenced by TkConvValidator::analyze().

169 { return nSharedHits_; }
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
unsigned int reco::Conversion::nTracks ( ) const
inline

Number of tracks= 0,1,2.

Definition at line 105 of file Conversion.h.

References tracks().

Referenced by FWConvTrackHitsDetailView::build(), ConversionLikelihoodCalculator::calculateLikelihood(), dEtaTracksAtEcal(), dPhiTracksAtEcal(), dPhiTracksAtVtx(), EoverP(), EoverPrefittedTracks(), isConverted(), pairCotThetaSeparation(), pairInvariantMass(), pairMomentum(), FWConversionProxyBuilder::requestCommon(), and tracksSigned_d0().

105 {return tracks().size(); }
std::vector< edm::RefToBase< reco::Track > > tracks() const
vector of track to base references
Definition: Conversion.cc:180
std::vector<float> const reco::Conversion::oneLegMVA ( )
inline

get the MVS output from PF for one leg conversions

Definition at line 109 of file Conversion.h.

References theOneLegMVA_.

109 {return theOneLegMVA_;}
std::vector< float > theOneLegMVA_
vectors of TMVA outputs from pflow for one leg conversions
Definition: Conversion.h:221
double Conversion::pairCotThetaSeparation ( ) const

Delta cot(Theta) where Theta is the angle in the (y,z) plane between the two tracks. Original tracks are used.

Definition at line 223 of file Conversion.cc.

References nTracks(), funct::tan(), and tracksPin().

Referenced by TkConvValidator::analyze(), ConversionLikelihoodCalculator::calculateLikelihood(), and FWConvTrackHitsDetailView::setTextInfo().

223  {
224  double dCotTheta=-99.;
225 
226  if ( nTracks()==2 ) {
227  double theta1=this->tracksPin()[0].Theta();
228  double theta2=this->tracksPin()[1].Theta();
229  dCotTheta = 1./tan(theta1) - 1./tan(theta2) ;
230  }
231 
232  return dCotTheta;
233 
234 }
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:163
double Conversion::pairInvariantMass ( ) const

if nTracks=2 returns the pair invariant mass. Original tracks are used here

Definition at line 204 of file Conversion.cc.

References nTracks(), mathSSE::sqrt(), and tracksPin().

Referenced by TkConvValidator::analyze().

204  {
205  double invMass=-99.;
206  const float mElec= 0.000511;
207  if ( nTracks()==2 ) {
208  double px= tracksPin()[0].x() + tracksPin()[1].x();
209  double py= tracksPin()[0].y() + tracksPin()[1].y();
210  double pz= tracksPin()[0].z() + tracksPin()[1].z();
211  double mom1= tracksPin()[0].Mag2();
212  double mom2= tracksPin()[1].Mag2();
213  double e = sqrt( mom1+ mElec*mElec ) + sqrt( mom2 + mElec*mElec );
214  invMass= ( e*e - px*px -py*py - pz*pz);
215  if ( invMass>0) invMass = sqrt(invMass);
216  else
217  invMass = -1;
218  }
219 
220  return invMass;
221 }
T sqrt(T t)
Definition: SSEVec.h:28
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:163
math::XYZVectorF Conversion::pairMomentum ( ) const

Conversion tracks momentum from the tracks inner momentum.

Definition at line 237 of file Conversion.cc.

References nTracks(), and tracksPin().

Referenced by EoverP(), FWConversionProxyBuilder::requestCommon(), and FWConvTrackHitsDetailView::setTextInfo().

237  {
238 
239  if ( nTracks()==2 ) {
240  return this->tracksPin()[0] + this->tracksPin()[1];
241  }
242  return math::XYZVectorF(0.,0.,0.);
243 
244 
245 
246 }
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:163
bool reco::Conversion::quality ( ConversionQuality  q) const
inline

Definition at line 185 of file Conversion.h.

References lumiQueryAPI::q, and qualityMask_.

Referenced by TkConvValidator::analyze().

185 { return (qualityMask_ & (1<<q))>>q; }
uint16_t qualityMask_
Definition: Conversion.h:224
math::XYZTLorentzVectorF Conversion::refittedPair4Momentum ( ) const

Conversion track pair 4-momentum from the tracks refitted with vertex constraint.

Definition at line 249 of file Conversion.cc.

References conversionVertex(), p4, and reco::Vertex::p4().

Referenced by refittedPairMomentum().

249  {
250 
252  if ( this->conversionVertex().isValid() )
253  p4 = this->conversionVertex().p4( 0.000511, 0.5);
254 
255  return p4;
256 
257 
258 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:101
double p4[4]
Definition: TauolaWrapper.h:92
math::XYZTLorentzVectorD p4(float mass=0.13957018, float minWeight=0.5) const
Returns the four momentum of the sum of the tracks, assuming the given mass for the decay products...
Definition: Vertex.cc:113
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:23
math::XYZVectorF Conversion::refittedPairMomentum ( ) const

Conversion tracks momentum from the tracks refitted with vertex constraint.

Definition at line 262 of file Conversion.cc.

References conversionVertex(), and refittedPair4Momentum().

Referenced by TkConvValidator::analyze(), dxy(), dz(), EoverPrefittedTracks(), ConversionTools::isGoodConversion(), lxy(), lz(), ConversionTools::matchesConversion(), and ConversionProducer::matchingSC().

262  {
263 
264  if ( this->conversionVertex().isValid() ) {
265  return this->refittedPair4Momentum().Vect();
266  }
267  return math::XYZVectorF(0.,0.,0.);
268 
269 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:101
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
math::XYZTLorentzVectorF refittedPair4Momentum() const
Conversion track pair 4-momentum from the tracks refitted with vertex constraint. ...
Definition: Conversion.cc:249
void reco::Conversion::setConversionAlgorithm ( const ConversionAlgorithm  a,
bool  set = true 
)
inline

Conversion Track algorithm/provenance.

Definition at line 179 of file Conversion.h.

References a, algorithm_, and undefined.

179 { if (set) algorithm_=a; else algorithm_=undefined;}
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:223
double a
Definition: hdecay.h:121
void reco::Conversion::setMatchingSuperCluster ( const reco::CaloClusterPtrVector sc)
inline

Definition at line 177 of file Conversion.h.

References caloCluster_.

Referenced by ConversionProducer::buildCollection().

177 { caloCluster_= sc;}
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:193
void reco::Conversion::setMVAout ( const float &  mva)
inline

set the value of the TMVA output

Definition at line 173 of file Conversion.h.

References theMVAout_.

Referenced by ConvertedPhotonProducer::buildCollections().

173 { theMVAout_=mva;}
float theMVAout_
TMVA output.
Definition: Conversion.h:219
void reco::Conversion::setOneLegMVA ( const std::vector< float > &  mva)
inline

set the MVS output from PF for one leg conversions

Definition at line 175 of file Conversion.h.

References theOneLegMVA_.

175 { theOneLegMVA_=mva;}
std::vector< float > theOneLegMVA_
vectors of TMVA outputs from pflow for one leg conversions
Definition: Conversion.h:221
void reco::Conversion::setQuality ( ConversionQuality  q,
bool  b 
)
inline

Definition at line 252 of file Conversion.h.

References lumiQueryAPI::q, and qualityMask_.

Referenced by ConversionProducer::buildCollection().

252  {
253  if (b)//regular OR if setting value to true
254  qualityMask_ |= (1<<q) ;
255  else // doing "half-XOR" if unsetting value
256  qualityMask_ &= (~(1<<q));
257 
258  }
uint16_t qualityMask_
Definition: Conversion.h:224
double b
Definition: hdecay.h:120
std::vector< edm::RefToBase< reco::Track > > Conversion::tracks ( void  ) const

vector of track to base references

Definition at line 180 of file Conversion.cc.

References tracks_, and trackToBaseRefs_.

Referenced by TkConvValidator::analyze(), FWConvTrackHitsDetailView::build(), ConversionLikelihoodCalculator::calculateLikelihood(), ConversionTools::matchesConversion(), nTracks(), FWConvTrackHitsDetailView::setTextInfo(), and tracksSigned_d0().

180  {
181  if (trackToBaseRefs_.size() ==0 ) {
182 
183  for (std::vector<reco::TrackRef>::const_iterator ref=tracks_.begin(); ref!=tracks_.end(); ref++ )
184  {
186  trackToBaseRefs_.push_back(tt);
187 
188  }
189  }
190 
191  return trackToBaseRefs_;
192 }
std::vector< reco::TrackRef > tracks_
vector of Track references
Definition: Conversion.h:195
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:197
const std::vector<math::XYZPointF>& reco::Conversion::tracksInnerPosition ( ) const
inline

Vector containing the position of the innermost hit of each track.

Definition at line 159 of file Conversion.h.

References theTrackInnerPosition_.

159 {return theTrackInnerPosition_;}
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:207
const std::vector<math::XYZVectorF>& reco::Conversion::tracksPin ( ) const
inline

Vector of track momentum measured at the innermost hit.

Definition at line 163 of file Conversion.h.

References theTrackPin_.

Referenced by ConversionLikelihoodCalculator::calculateLikelihood(), dPhiTracksAtVtx(), pairCotThetaSeparation(), pairInvariantMass(), and pairMomentum().

163 {return theTrackPin_;}
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:209
const std::vector<math::XYZVectorF>& reco::Conversion::tracksPout ( ) const
inline

Vector of track momentum measured at the outermost hit.

Definition at line 161 of file Conversion.h.

References theTrackPout_.

161 {return theTrackPout_;}
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:211
std::vector< double > Conversion::tracksSigned_d0 ( ) const

signed transverse impact parameter for each track

Definition at line 317 of file Conversion.cc.

References DeDxDiscriminatorTools::charge(), debug_cff::d0, i, nTracks(), query::result, and tracks().

317  {
318  std::vector<double> result;
319 
320  for (unsigned int i=0; i< nTracks(); i++)
321  result.push_back(tracks()[i]->d0()* tracks()[i]->charge()) ;
322 
323  return result;
324 
325 
326 }
int i
Definition: DBlmapReader.cc:9
tuple d0
Definition: debug_cff.py:3
double charge(const std::vector< uint8_t > &Ampls)
std::vector< edm::RefToBase< reco::Track > > tracks() const
vector of track to base references
Definition: Conversion.cc:180
tuple result
Definition: query.py:137
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:105
double reco::Conversion::zOfPrimaryVertexFromTracks ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const
inline

Definition at line 149 of file Conversion.h.

References dz().

Referenced by TkConvValidator::analyze(), ConversionProducer::matchingSC(), and FWConversionProxyBuilder::requestCommon().

149 { return dz(myBeamSpot) + myBeamSpot.z(); }
double dz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:395

Member Data Documentation

std::string const Conversion::algoNames = { "undefined","ecalSeeded","trackerOnly","mixed"}
static

Definition at line 44 of file Conversion.h.

Referenced by algoByName(), and algoName().

uint8_t reco::Conversion::algorithm_
private

conversion algorithm/provenance

Definition at line 223 of file Conversion.h.

Referenced by algo(), algoName(), Conversion(), and setConversionAlgorithm().

reco::CaloClusterPtrVector reco::Conversion::caloCluster_
private

vector pointer to a/multiple seed CaloCluster(s)

Definition at line 193 of file Conversion.h.

Referenced by caloCluster(), and setMatchingSuperCluster().

std::vector<Measurement1DFloat> reco::Conversion::dlClosestHitToVtx_
private

signed decay length and uncertainty from nearest hit on track to conversion vertex

Definition at line 215 of file Conversion.h.

Referenced by dlClosestHitToVtx().

std::vector<uint8_t> reco::Conversion::nHitsBeforeVtx_
private

number of hits before the vertex on each trackerOnly

Definition at line 213 of file Conversion.h.

Referenced by nHitsBeforeVtx().

uint8_t reco::Conversion::nSharedHits_
private

number of shared hits between tracks

Definition at line 217 of file Conversion.h.

Referenced by Conversion(), and nSharedHits().

uint16_t reco::Conversion::qualityMask_
private

Definition at line 224 of file Conversion.h.

Referenced by Conversion(), quality(), and setQuality().

reco::Vertex reco::Conversion::theConversionVertex_
private

Fitted Kalman conversion vertex.

Definition at line 201 of file Conversion.h.

Referenced by conversionVertex().

std::vector<reco::CaloClusterPtr> reco::Conversion::theMatchingBCs_
private

Clusters mathing the tracks (these are not the seeds)

Definition at line 203 of file Conversion.h.

Referenced by bcMatchingWithTracks().

float reco::Conversion::theMinDistOfApproach_
private

Distance of min approach of the two tracks.

Definition at line 205 of file Conversion.h.

Referenced by Conversion(), and distOfMinimumApproach().

float reco::Conversion::theMVAout_
private

TMVA output.

Definition at line 219 of file Conversion.h.

Referenced by Conversion(), MVAout(), and setMVAout().

std::vector<float> reco::Conversion::theOneLegMVA_
private

vectors of TMVA outputs from pflow for one leg conversions

Definition at line 221 of file Conversion.h.

Referenced by oneLegMVA(), and setOneLegMVA().

std::vector<math::XYZPointF> reco::Conversion::thePositionAtEcal_
private

position at the ECAl surface of the track extrapolation

Definition at line 199 of file Conversion.h.

Referenced by Conversion(), and ecalImpactPosition().

std::vector<math::XYZPointF> reco::Conversion::theTrackInnerPosition_
private

P_in of tracks.

Definition at line 207 of file Conversion.h.

Referenced by Conversion(), and tracksInnerPosition().

std::vector<math::XYZVectorF> reco::Conversion::theTrackPin_
private

P_in of tracks.

Definition at line 209 of file Conversion.h.

Referenced by Conversion(), and tracksPin().

std::vector<math::XYZVectorF> reco::Conversion::theTrackPout_
private

P_out of tracks.

Definition at line 211 of file Conversion.h.

Referenced by Conversion(), and tracksPout().

std::vector<reco::TrackRef> reco::Conversion::tracks_
private

vector of Track references

Definition at line 195 of file Conversion.h.

Referenced by tracks().

std::vector<edm::RefToBase<reco::Track> > reco::Conversion::trackToBaseRefs_
mutableprivate

vector Track RefToBase

Definition at line 197 of file Conversion.h.

Referenced by tracks().