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

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.

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.

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.

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.

Member Function Documentation

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

Definition at line 223 of file Conversion.h.

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

Definition at line 163 of file Conversion.cc.

std::string reco::Conversion::algoName ( ) const
inline

Definition at line 228 of file Conversion.h.

std::string reco::Conversion::algoName ( ConversionAlgorithm  a)
inlinestatic

Definition at line 242 of file Conversion.h.

const std::vector<reco::CaloClusterPtr>& reco::Conversion::bcMatchingWithTracks ( ) const
inline

Definition at line 151 of file Conversion.h.

reco::CaloClusterPtrVector reco::Conversion::caloCluster ( ) const
inline

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

Definition at line 93 of file Conversion.h.

Conversion * Conversion::clone ( void  ) const

returns a clone of the candidate

Definition at line 171 of file Conversion.cc.

const reco::Vertex& reco::Conversion::conversionVertex ( ) const
inline

returns the reco conversion vertex

Definition at line 97 of file Conversion.h.

double Conversion::dEtaTracksAtEcal ( ) const

Definition at line 351 of file Conversion.cc.

double reco::Conversion::distOfMinimumApproach ( ) const
inline

Definition at line 125 of file Conversion.h.

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 163 of file Conversion.h.

double Conversion::dPhiTracksAtEcal ( ) const

Definition at line 326 of file Conversion.cc.

double Conversion::dPhiTracksAtVtx ( ) const

Definition at line 313 of file Conversion.cc.

double Conversion::dxy ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 368 of file Conversion.cc.

double Conversion::dz ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 380 of file Conversion.cc.

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 149 of file Conversion.h.

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.

Referenced by ConversionLikelihoodCalculator::calculateLikelihood().

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.

bool Conversion::isConverted ( ) const

Bool flagging objects having track size >0.

Definition at line 182 of file Conversion.cc.

double Conversion::lxy ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 392 of file Conversion.cc.

double Conversion::lz ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const

Definition at line 406 of file Conversion.cc.

double reco::Conversion::MVAout ( ) const
inline

get the value of the TMVA output

Definition at line 103 of file Conversion.h.

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 161 of file Conversion.h.

uint8_t reco::Conversion::nSharedHits ( ) const
inline

number of shared hits btw the two track

Definition at line 165 of file Conversion.h.

unsigned int reco::Conversion::nTracks ( ) const
inline

Number of tracks= 0,1,2.

Definition at line 101 of file Conversion.h.

Referenced by ConversionLikelihoodCalculator::calculateLikelihood(), and FWConversionProxyBuilder::requestCommon().

std::vector<float> const reco::Conversion::oneLegMVA ( )
inline

get the MVS output from PF for one leg conversions

Definition at line 105 of file Conversion.h.

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.

Referenced by ConversionLikelihoodCalculator::calculateLikelihood().

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.

math::XYZVectorF Conversion::pairMomentum ( ) const

Conversion tracks momentum from the tracks inner momentum.

Definition at line 223 of file Conversion.cc.

Referenced by FWConversionProxyBuilder::requestCommon().

bool reco::Conversion::quality ( ConversionQuality  q) const
inline

Definition at line 181 of file Conversion.h.

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.

math::XYZVectorF Conversion::refittedPairMomentum ( ) const

Conversion tracks momentum from the tracks refitted with vertex constraint.

Definition at line 248 of file Conversion.cc.

void reco::Conversion::setConversionAlgorithm ( const ConversionAlgorithm  a,
bool  set = true 
)
inline

Conversion Track algorithm/provenance.

Definition at line 175 of file Conversion.h.

void reco::Conversion::setMatchingSuperCluster ( const reco::CaloClusterPtrVector sc)
inline

Definition at line 173 of file Conversion.h.

void reco::Conversion::setMVAout ( const float &  mva)
inline

set the value of the TMVA output

Definition at line 169 of file Conversion.h.

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

set the MVS output from PF for one leg conversions

Definition at line 171 of file Conversion.h.

void reco::Conversion::setQuality ( ConversionQuality  q,
bool  b 
)
inline

Definition at line 247 of file Conversion.h.

std::vector< edm::RefToBase< reco::Track > > const & Conversion::tracks ( void  ) const

vector of track to base references

Definition at line 176 of file Conversion.cc.

Referenced by ConversionLikelihoodCalculator::calculateLikelihood().

const std::vector<math::XYZPointF>& reco::Conversion::tracksInnerPosition ( ) const
inline

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

Definition at line 155 of file Conversion.h.

const std::vector<math::XYZVectorF>& reco::Conversion::tracksPin ( ) const
inline

Vector of track momentum measured at the innermost hit.

Definition at line 159 of file Conversion.h.

Referenced by ConversionLikelihoodCalculator::calculateLikelihood().

const std::vector<math::XYZVectorF>& reco::Conversion::tracksPout ( ) const
inline

Vector of track momentum measured at the outermost hit.

Definition at line 157 of file Conversion.h.

std::vector< double > Conversion::tracksSigned_d0 ( ) const

signed transverse impact parameter for each track

Definition at line 303 of file Conversion.cc.

double reco::Conversion::zOfPrimaryVertexFromTracks ( const math::XYZPoint myBeamSpot = math::XYZPoint()) const
inline

Definition at line 145 of file Conversion.h.

Referenced by FWConversionProxyBuilder::requestCommon().

Member Data Documentation

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

Definition at line 43 of file Conversion.h.

uint8_t reco::Conversion::algorithm_
private

conversion algorithm/provenance

Definition at line 218 of file Conversion.h.

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

vector pointer to a/multiple seed CaloCluster(s)

Definition at line 189 of file Conversion.h.

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

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

Definition at line 207 of file Conversion.h.

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

number of hits before the vertex on each trackerOnly

Definition at line 205 of file Conversion.h.

uint8_t reco::Conversion::nSharedHits_
private

number of shared hits between tracks

Definition at line 216 of file Conversion.h.

uint16_t reco::Conversion::qualityMask_
private

Definition at line 214 of file Conversion.h.

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

Fitted Kalman conversion vertex.

Definition at line 195 of file Conversion.h.

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

Clusters mathing the tracks (these are not the seeds)

Definition at line 197 of file Conversion.h.

float reco::Conversion::theMinDistOfApproach_
private

Distance of min approach of the two tracks.

Definition at line 211 of file Conversion.h.

float reco::Conversion::theMVAout_
private

TMVA output.

Definition at line 213 of file Conversion.h.

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

vectors of TMVA outputs from pflow for one leg conversions

Definition at line 209 of file Conversion.h.

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

position at the ECAl surface of the track extrapolation

Definition at line 193 of file Conversion.h.

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

P_in of tracks.

Definition at line 199 of file Conversion.h.

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

P_in of tracks.

Definition at line 201 of file Conversion.h.

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

P_out of tracks.

Definition at line 203 of file Conversion.h.

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

vector Track RefToBase

Definition at line 191 of file Conversion.h.