CMS 3D CMS Logo

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,
  gsfTracksOpenOnly =4, 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 > > const & 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
 

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","pflow"}
 

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< edm::RefToBase< reco::Track > > trackToBaseRefs_
 vector Track RefToBase More...
 

Detailed Description

Author
N.Marinelli University of Notre Dame, US

Definition at line 24 of file Conversion.h.

Member Enumeration Documentation

Enumerator
undefined 
ecalSeeded 
trackerOnly 
mixed 
pflow 
algoSize 

Definition at line 27 of file Conversion.h.

Enumerator
generalTracksOnly 
arbitratedEcalSeeded 
arbitratedMerged 
arbitratedMergedEcalGeneral 
gsfTracksOpenOnly 
highPurity 
highEfficiency 
ecalMatched1Track 
ecalMatched2Track 

Definition at line 34 of file Conversion.h.

Constructor & Destructor Documentation

Conversion::Conversion ( )

Definition at line 142 of file Conversion.cc.

References algoNames, algorithm_, nSharedHits_, qualityMask_, AlCaHLTBitMon_QueryRunRegistry::string, theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.

Referenced by clone().

142  {
143 
144  algorithm_=0;
145  qualityMask_=0;
146  theMinDistOfApproach_ = 9999.;
147  nSharedHits_ = 0;
148  theMVAout_ = 9999.;
149  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
150  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
151  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
152  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
153  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
154  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
155  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
156  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
157 
158 }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:204
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:215
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:200
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:202
float theMVAout_
TMVA output.
Definition: Conversion.h:214
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:212
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:194
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 45 of file Conversion.cc.

58  :
59 
60 
62  thePositionAtEcal_(trackPositionAtEcal),
63  theConversionVertex_(convVtx),
64  theMatchingBCs_(matchingBC),
65  theTrackInnerPosition_(innPoint),
66  theTrackPin_(trackPin),
67  theTrackPout_(trackPout),
71  theMVAout_(mva),
72  qualityMask_(0),
75  {
76 
77  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:204
ConversionAlgorithm algo() const
Definition: Conversion.h:224
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:164
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:190
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:215
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:200
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
uint8_t nSharedHits() const
number of shared hits btw the two track
Definition: Conversion.h:166
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:202
float theMVAout_
TMVA output.
Definition: Conversion.h:214
std::vector< reco::CaloClusterPtr > theMatchingBCs_
Clusters mathing the tracks (these are not the seeds)
Definition: Conversion.h:198
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:212
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:194
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:192
const std::vector< uint8_t > & nHitsBeforeVtx() const
Vector of the number of hits before the vertex along each track trajector.
Definition: Conversion.h:162
std::vector< Measurement1DFloat > dlClosestHitToVtx_
signed decay length and uncertainty from nearest hit on track to conversion vertex ...
Definition: Conversion.h:208
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:196
std::vector< uint8_t > nHitsBeforeVtx_
number of hits before the vertex on each trackerOnly
Definition: Conversion.h:206
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 9 of file Conversion.cc.

References HiIsolationCommonParameters_cff::track, and trackToBaseRefs_.

19  :
20 
21 
24  thePositionAtEcal_(trackPositionAtEcal),
25  theConversionVertex_(convVtx),
26  theMatchingBCs_(matchingBC),
27  theTrackInnerPosition_(innPoint),
28  theTrackPin_(trackPin),
29  theTrackPout_(trackPout),
31  theMVAout_(mva),
32  qualityMask_(0),
33  nSharedHits_(0),
35  {
36  trackToBaseRefs_.reserve(tr.size());
37  for( auto const& track: tr) {
38  trackToBaseRefs_.emplace_back(track);
39  }
40  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:204
ConversionAlgorithm algo() const
Definition: Conversion.h:224
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:190
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:215
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:200
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:202
float theMVAout_
TMVA output.
Definition: Conversion.h:214
std::vector< reco::CaloClusterPtr > theMatchingBCs_
Clusters mathing the tracks (these are not the seeds)
Definition: Conversion.h:198
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:212
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:194
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:192
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:196
Conversion::Conversion ( const reco::CaloClusterPtrVector clu,
const std::vector< reco::TrackRef > &  tr,
const reco::Vertex convVtx,
ConversionAlgorithm  algo = undefined 
)

Definition at line 82 of file Conversion.cc.

References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, theTrackPout_, HiIsolationCommonParameters_cff::track, and trackToBaseRefs_.

85  :
88  theConversionVertex_(convVtx),
89  qualityMask_(0),
90  nSharedHits_(0),
92  {
93  trackToBaseRefs_.reserve(tr.size());
94  for( auto const& track: tr) {
95  trackToBaseRefs_.emplace_back(track);
96  }
97 
98 
99  theMinDistOfApproach_ = 9999.;
100  theMVAout_ = 9999.;
101  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
102  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
103  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
104  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
105  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
106  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
107  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
108  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
109 
110 
111  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:204
ConversionAlgorithm algo() const
Definition: Conversion.h:224
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:190
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:215
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:200
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:202
float theMVAout_
TMVA output.
Definition: Conversion.h:214
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:212
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:194
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:192
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:196
Conversion::Conversion ( const reco::CaloClusterPtrVector clu,
const std::vector< edm::RefToBase< reco::Track > > &  tr,
const reco::Vertex convVtx,
ConversionAlgorithm  algo = undefined 
)

Definition at line 114 of file Conversion.cc.

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

117  :
119  theConversionVertex_(convVtx),
120  qualityMask_(0),
121  nSharedHits_(0),
123  {
124 
125 
126  theMinDistOfApproach_ = 9999.;
127  theMVAout_ = 9999.;
128  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
129  thePositionAtEcal_.push_back(math::XYZPointF(0.,0.,0.));
130  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
131  theTrackInnerPosition_.push_back(math::XYZPointF(0.,0.,0.));
132  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
133  theTrackPin_.push_back(math::XYZVectorF(0.,0.,0.));
134  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
135  theTrackPout_.push_back(math::XYZVectorF(0.,0.,0.));
136 
137 
138  }
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
Definition: Conversion.h:204
ConversionAlgorithm algo() const
Definition: Conversion.h:224
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
Definition: Conversion.h:190
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
uint8_t nSharedHits_
number of shared hits between tracks
Definition: Conversion.h:217
uint16_t qualityMask_
Definition: Conversion.h:215
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
Definition: Conversion.h:200
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
Definition: Conversion.h:202
float theMVAout_
TMVA output.
Definition: Conversion.h:214
float theMinDistOfApproach_
Distance of min approach of the two tracks.
Definition: Conversion.h:212
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:194
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
Definition: Conversion.h:192
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
Definition: Conversion.h:196

Member Function Documentation

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

Definition at line 224 of file Conversion.h.

References algorithm_.

Referenced by OniaPhotonConversionProducer::PackFlags(), and setConversionAlgorithm().

224  {
226  }
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
Conversion::ConversionAlgorithm Conversion::algoByName ( const std::string &  name)
static

Definition at line 163 of file Conversion.cc.

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

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

163  {
166  if(index == size) return undefined;
167 
168  return ConversionAlgorithm(index);
169 }
size
Write out results.
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:20
std::string reco::Conversion::algoName ( ) const
inline

Definition at line 229 of file Conversion.h.

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

Referenced by setConversionAlgorithm().

229  {
230 
231  switch(algorithm_)
232  {
233  case undefined: return "undefined";
234  case ecalSeeded: return "ecalSeeded";
235  case trackerOnly: return "trackerOnly";
236  case mixed: return "mixed";
237  case pflow: return "pflow";
238 
239  }
240  return "undefined";
241  }
uint8_t algorithm_
conversion algorithm/provenance
Definition: Conversion.h:219
std::string reco::Conversion::algoName ( ConversionAlgorithm  a)
inlinestatic

Definition at line 243 of file Conversion.h.

References algoSize, and createfilelist::int.

243  {
244  if(int(a) < int(algoSize) && int(a)>0) return algoNames[int(a)];
245  return "undefined";
246  }
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 152 of file Conversion.h.

References theMatchingBCs_, and tracksSigned_d0().

Referenced by dEtaTracksAtEcal(), and dPhiTracksAtEcal().

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

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

Definition at line 94 of file Conversion.h.

References caloCluster_, and tracks().

Referenced by EoverP(), and EoverPrefittedTracks().

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

returns a clone of the candidate

Definition at line 171 of file Conversion.cc.

References Conversion().

Referenced by ConvertedPhotonProducer::cleanCollections().

171  {
172  return new Conversion( * this );
173 }
const reco::Vertex& reco::Conversion::conversionVertex ( ) const
inline
double Conversion::dEtaTracksAtEcal ( ) const

Definition at line 351 of file Conversion.cc.

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

Referenced by distOfMinimumApproach().

351  {
352  double result=-99.;
353 
354 
355  if ( nTracks()==2 && bcMatchingWithTracks()[0].isNonnull() && bcMatchingWithTracks()[1].isNonnull() ) {
356 
357  result =ecalImpactPosition()[0].eta() - ecalImpactPosition()[1].eta();
358 
359  }
360 
361 
362 
363  return result;
364 
365 
366 }
const std::vector< reco::CaloClusterPtr > & bcMatchingWithTracks() const
Definition: Conversion.h:152
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
const std::vector< math::XYZPointF > & ecalImpactPosition() const
Definition: Conversion.h:150
double reco::Conversion::distOfMinimumApproach ( ) const
inline
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 164 of file Conversion.h.

References dlClosestHitToVtx_.

Referenced by TkConvValidator::analyze().

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

Definition at line 326 of file Conversion.cc.

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

Referenced by distOfMinimumApproach().

326  {
327  double result =-99.;
328 
329  if ( nTracks()==2 && bcMatchingWithTracks()[0].isNonnull() && bcMatchingWithTracks()[1].isNonnull() ) {
330 
331  float recoPhi1 = ecalImpactPosition()[0].phi();
332  if( recoPhi1 > pi) { recoPhi1 = recoPhi1 - twopi;}
333  if( recoPhi1 < -pi) { recoPhi1 = recoPhi1 + twopi;}
334 
335  float recoPhi2 = ecalImpactPosition()[1].phi();
336  if( recoPhi2 > pi) { recoPhi2 = recoPhi2 - twopi;}
337  if( recoPhi2 < -pi) { recoPhi2 = recoPhi2 + twopi;}
338 
339  result = recoPhi1 -recoPhi2;
340 
341  if( result > pi) { result = result - twopi;}
342  if( result < -pi) { result = result + twopi;}
343 
344  }
345 
346  return result;
347 
348 
349 }
const Double_t pi
const std::vector< reco::CaloClusterPtr > & bcMatchingWithTracks() const
Definition: Conversion.h:152
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
const std::vector< math::XYZPointF > & ecalImpactPosition() const
Definition: Conversion.h:150
double Conversion::dPhiTracksAtVtx ( ) const

Definition at line 313 of file Conversion.cc.

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

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

313  {
314  double result=-99;
315  if ( nTracks()==2 ) {
316  result = tracksPin()[0].phi() - tracksPin()[1].phi();
317  if( result > pi) { result = result - twopi;}
318  if( result < -pi) { result = result + twopi;}
319  }
320 
321  return result;
322 
323 
324 }
const Double_t pi
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:160
double Conversion::dxy ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 368 of file Conversion.cc.

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

Referenced by Electron.Electron::cutBasedId(), distOfMinimumApproach(), and ntupleDataFormat.Track::dxyPull().

368  {
369 
370  const reco::Vertex &vtx = conversionVertex();
371  if (!vtx.isValid()) return -9999.;
372 
374 
375  double dxy = (-(vtx.x() - myBeamSpot.x())*mom.y() + (vtx.y() - myBeamSpot.y())*mom.x())/mom.rho();
376  return dxy;
377 
378 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:98
double y() const
y coordinate
Definition: Vertex.h:113
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:68
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:248
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
double x() const
x coordinate
Definition: Vertex.h:111
double dxy(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:368
double Conversion::dz ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 380 of file Conversion.cc.

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

Referenced by Electron.Electron::cutBasedId(), distOfMinimumApproach(), ntupleDataFormat.Track::dzPull(), and zOfPrimaryVertexFromTracks().

380  {
381 
382  const reco::Vertex &vtx = conversionVertex();
383  if (!vtx.isValid()) return -9999.;
384 
386 
387  double dz = (vtx.z()-myBeamSpot.z()) - ((vtx.x()-myBeamSpot.x())*mom.x()+(vtx.y()-myBeamSpot.y())*mom.y())/mom.rho() * mom.z()/mom.rho();
388  return dz;
389 
390 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:98
double y() const
y coordinate
Definition: Vertex.h:113
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:68
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:248
double z() const
z coordinate
Definition: Vertex.h:115
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
double x() const
x coordinate
Definition: Vertex.h:111
double dz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:380
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 150 of file Conversion.h.

References thePositionAtEcal_.

Referenced by dEtaTracksAtEcal(), and dPhiTracksAtEcal().

150 {return thePositionAtEcal_;}
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
Definition: Conversion.h:194
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 259 of file Conversion.cc.

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

Referenced by ConversionLikelihoodCalculator::calculateLikelihood(), and oneLegMVA().

259  {
260 
261 
262  double ep=-99.;
263 
264  if ( nTracks() > 0 ) {
265  unsigned int size= this->caloCluster().size();
266  float etot=0.;
267  for ( unsigned int i=0; i<size; i++) {
268  etot+= caloCluster()[i]->energy();
269  }
270  if (this->pairMomentum().Mag2() !=0) ep= etot/sqrt(this->pairMomentum().Mag2());
271  }
272 
273 
274 
275  return ep;
276 
277 }
size
Write out results.
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:74
T sqrt(T t)
Definition: SSEVec.h:18
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
math::XYZVectorF pairMomentum() const
Conversion tracks momentum from the tracks inner momentum.
Definition: Conversion.cc:223
reco::CaloClusterPtrVector caloCluster() const
Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster)
Definition: Conversion.h:94
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 281 of file Conversion.cc.

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

Referenced by oneLegMVA().

281  {
282 
283 
284  double ep=-99.;
285 
286  if ( nTracks() > 0 ) {
287  unsigned int size= this->caloCluster().size();
288  float etot=0.;
289  for ( unsigned int i=0; i<size; i++) {
290  etot+= caloCluster()[i]->energy();
291  }
292  if (this->refittedPairMomentum().Mag2() !=0) ep= etot/sqrt(this->refittedPairMomentum().Mag2());
293  }
294 
295 
296 
297  return ep;
298 
299 }
size
Write out results.
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:74
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:248
T sqrt(T t)
Definition: SSEVec.h:18
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
reco::CaloClusterPtrVector caloCluster() const
Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster)
Definition: Conversion.h:94
bool Conversion::isConverted ( ) const

Bool flagging objects having track size >0.

Definition at line 182 of file Conversion.cc.

References nTracks().

Referenced by conversionVertex().

182  {
183 
184  if ( this->nTracks() == 2 )
185  return true;
186  else
187  return false;
188 }
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
double Conversion::lxy ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 392 of file Conversion.cc.

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

Referenced by distOfMinimumApproach().

392  {
393 
394  const reco::Vertex &vtx = conversionVertex();
395  if (!vtx.isValid()) return -9999.;
396 
398 
399  double dbsx = vtx.x() - myBeamSpot.x();
400  double dbsy = vtx.y() - myBeamSpot.y();
401  double lxy = (mom.x()*dbsx + mom.y()*dbsy)/mom.rho();
402  return lxy;
403 
404 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:98
double y() const
y coordinate
Definition: Vertex.h:113
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:68
double lxy(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:392
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:248
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
double x() const
x coordinate
Definition: Vertex.h:111
double Conversion::lz ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 406 of file Conversion.cc.

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

Referenced by distOfMinimumApproach().

406  {
407 
408  const reco::Vertex &vtx = conversionVertex();
409  if (!vtx.isValid()) return -9999.;
410 
412 
413  double lz = (vtx.z() - myBeamSpot.z())*mom.z()/std::abs(mom.z());
414  return lz;
415 
416 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:98
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:68
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition: Conversion.cc:248
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double z() const
z coordinate
Definition: Vertex.h:115
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
double lz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
Definition: Conversion.cc:406
double reco::Conversion::MVAout ( ) const
inline

get the value of the TMVA output

Definition at line 104 of file Conversion.h.

References theMVAout_.

104 { return theMVAout_;}
float theMVAout_
TMVA output.
Definition: Conversion.h:214
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 162 of file Conversion.h.

References nHitsBeforeVtx_.

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

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

number of shared hits btw the two track

Definition at line 166 of file Conversion.h.

References nSharedHits_.

Referenced by TkConvValidator::analyze().

166 { 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 102 of file Conversion.h.

References tracks().

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

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

get the MVS output from PF for one leg conversions

Definition at line 106 of file Conversion.h.

References EoverP(), EoverPrefittedTracks(), pairCotThetaSeparation(), pairInvariantMass(), pairMomentum(), refittedPair4Momentum(), refittedPairMomentum(), and theOneLegMVA_.

106 {return theOneLegMVA_;}
std::vector< float > theOneLegMVA_
vectors of TMVA outputs from pflow for one leg conversions
Definition: Conversion.h:210
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 209 of file Conversion.cc.

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

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

209  {
210  double dCotTheta=-99.;
211 
212  if ( nTracks()==2 ) {
213  double theta1=this->tracksPin()[0].Theta();
214  double theta2=this->tracksPin()[1].Theta();
215  dCotTheta = 1./tan(theta1) - 1./tan(theta2) ;
216  }
217 
218  return dCotTheta;
219 
220 }
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:160
double Conversion::pairInvariantMass ( ) const

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

Definition at line 190 of file Conversion.cc.

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

Referenced by TkConvValidator::analyze(), and oneLegMVA().

190  {
191  double invMass=-99.;
192  const float mElec= 0.000511;
193  if ( nTracks()==2 ) {
194  double px= tracksPin()[0].x() + tracksPin()[1].x();
195  double py= tracksPin()[0].y() + tracksPin()[1].y();
196  double pz= tracksPin()[0].z() + tracksPin()[1].z();
197  double mom1= tracksPin()[0].Mag2();
198  double mom2= tracksPin()[1].Mag2();
199  double e = sqrt( mom1+ mElec*mElec ) + sqrt( mom2 + mElec*mElec );
200  invMass= ( e*e - px*px -py*py - pz*pz);
201  if ( invMass>0) invMass = sqrt(invMass);
202  else
203  invMass = -1;
204  }
205 
206  return invMass;
207 }
T sqrt(T t)
Definition: SSEVec.h:18
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:160
math::XYZVectorF Conversion::pairMomentum ( ) const

Conversion tracks momentum from the tracks inner momentum.

Definition at line 223 of file Conversion.cc.

References nTracks(), and tracksPin().

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

223  {
224 
225  if ( nTracks()==2 ) {
226  return this->tracksPin()[0] + this->tracksPin()[1];
227  }
228  return math::XYZVectorF(0.,0.,0.);
229 
230 
231 
232 }
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
unsigned int nTracks() const
Number of tracks= 0,1,2.
Definition: Conversion.h:102
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
Definition: Conversion.h:160
bool reco::Conversion::quality ( ConversionQuality  q) const
inline

Definition at line 182 of file Conversion.h.

References b, lumiQueryAPI::q, qualityMask_, and setQuality().

Referenced by TkConvValidator::analyze(), and OniaPhotonConversionProducer::PackFlags().

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

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

Definition at line 235 of file Conversion.cc.

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

Referenced by OniaPhotonConversionProducer::CheckPi0(), PF_PU_AssoMapAlgos::FindConversionVertex(), OniaPhotonConversionProducer::makePhotonCandidate(), oneLegMVA(), and refittedPairMomentum().

235  {
236 
238  if ( this->conversionVertex().isValid() )
239  p4 = this->conversionVertex().p4( 0.000511, 0.5);
240 
241  return p4;
242 
243 
244 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:98
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:135
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:22
math::XYZVectorF Conversion::refittedPairMomentum ( ) const

Conversion tracks momentum from the tracks refitted with vertex constraint.

Definition at line 248 of file Conversion.cc.

References conversionVertex(), and refittedPair4Momentum().

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

248  {
249 
250  if ( this->conversionVertex().isValid() ) {
251  return this->refittedPair4Momentum().Vect();
252  }
253  return math::XYZVectorF(0.,0.,0.);
254 
255 }
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
Definition: Conversion.h:98
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:17
math::XYZTLorentzVectorF refittedPair4Momentum() const
Conversion track pair 4-momentum from the tracks refitted with vertex constraint. ...
Definition: Conversion.cc:235
void reco::Conversion::setConversionAlgorithm ( const ConversionAlgorithm  a,
bool  set = true 
)
inline

Conversion Track algorithm/provenance.

Definition at line 176 of file Conversion.h.

References a, algo(), algoByName(), algoName(), algorithm_, dataset::name, AlCaHLTBitMon_QueryRunRegistry::string, and undefined.

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

Definition at line 174 of file Conversion.h.

References caloCluster_, and SimDataFormats::CaloAnalysis::sc.

Referenced by ConversionProducer::buildCollection().

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

set the value of the TMVA output

Definition at line 170 of file Conversion.h.

References DetachedQuadStep_cff::mva, and theMVAout_.

Referenced by ConvertedPhotonProducer::buildCollections().

void reco::Conversion::setOneLegMVA ( const std::vector< float > &  mva)
inline

set the MVS output from PF for one leg conversions

Definition at line 172 of file Conversion.h.

References DetachedQuadStep_cff::mva, and theOneLegMVA_.

Referenced by PFPhotonTranslator::createOneLegConversions(), and PFEGammaProducer::createSingleLegConversions().

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

Definition at line 248 of file Conversion.h.

References lumiQueryAPI::q, and qualityMask_.

Referenced by ConversionProducer::buildCollection(), and quality().

248  {
249  if (b)//regular OR if setting value to true
250  qualityMask_ |= (1<<q) ;
251  else // doing "half-XOR" if unsetting value
252  qualityMask_ &= (~(1<<q));
253 
254  }
uint16_t qualityMask_
Definition: Conversion.h:215
double b
Definition: hdecay.h:120
std::vector< edm::RefToBase< reco::Track > > const & Conversion::tracks ( void  ) const
const std::vector<math::XYZPointF>& reco::Conversion::tracksInnerPosition ( ) const
inline

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

Definition at line 156 of file Conversion.h.

References theTrackInnerPosition_.

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

Vector of track momentum measured at the innermost hit.

Definition at line 160 of file Conversion.h.

References theTrackPin_.

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

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

Vector of track momentum measured at the outermost hit.

Definition at line 158 of file Conversion.h.

References theTrackPout_.

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

signed transverse impact parameter for each track

Definition at line 303 of file Conversion.cc.

References mps_fire::result, findQualityFiles::size, HiIsolationCommonParameters_cff::track, and tracks().

Referenced by bcMatchingWithTracks().

303  {
304  std::vector<double> result;
305  result.reserve(tracks().size());
306 
307  for (auto const& track: tracks()) {
308  result.emplace_back(track->d0()* track->charge()) ;
309  }
310  return result;
311 }
size
Write out results.
std::vector< edm::RefToBase< reco::Track > > const & tracks() const
vector of track to base references
Definition: Conversion.cc:176
double reco::Conversion::zOfPrimaryVertexFromTracks ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const
inline

Definition at line 146 of file Conversion.h.

References dz().

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

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

Member Data Documentation

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

Definition at line 44 of file Conversion.h.

Referenced by algoByName(), and Conversion().

uint8_t reco::Conversion::algorithm_
private

conversion algorithm/provenance

Definition at line 219 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 190 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 208 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 206 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 215 of file Conversion.h.

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

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

Fitted Kalman conversion vertex.

Definition at line 196 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 198 of file Conversion.h.

Referenced by bcMatchingWithTracks().

float reco::Conversion::theMinDistOfApproach_
private

Distance of min approach of the two tracks.

Definition at line 212 of file Conversion.h.

Referenced by Conversion(), and distOfMinimumApproach().

float reco::Conversion::theMVAout_
private

TMVA output.

Definition at line 214 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 210 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 194 of file Conversion.h.

Referenced by Conversion(), and ecalImpactPosition().

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

P_in of tracks.

Definition at line 200 of file Conversion.h.

Referenced by Conversion(), and tracksInnerPosition().

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

P_in of tracks.

Definition at line 202 of file Conversion.h.

Referenced by Conversion(), and tracksPin().

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

P_out of tracks.

Definition at line 204 of file Conversion.h.

Referenced by Conversion(), and tracksPout().

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

vector Track RefToBase

Definition at line 192 of file Conversion.h.

Referenced by Conversion(), and tracks().