#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... | |
Conversion * | clone () 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::Vertex & | conversionVertex () 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","pflow"} |
Private Attributes | |
uint8_t | algorithm_ |
conversion algorithm/provenance More... | |
reco::CaloClusterPtrVector | caloCluster_ |
vector pointer to a/multiple seed CaloCluster(s) More... | |
std::vector< Measurement1DFloat > | dlClosestHitToVtx_ |
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::CaloClusterPtr > | theMatchingBCs_ |
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::XYZPointF > | thePositionAtEcal_ |
position at the ECAl surface of the track extrapolation More... | |
std::vector< math::XYZPointF > | theTrackInnerPosition_ |
P_in of tracks. More... | |
std::vector< math::XYZVectorF > | theTrackPin_ |
P_in of tracks. More... | |
std::vector< math::XYZVectorF > | theTrackPout_ |
P_out of tracks. More... | |
std::vector< reco::TrackRef > | tracks_ |
vector of Track references More... | |
std::vector< edm::RefToBase < reco::Track > > | trackToBaseRefs_ |
vector Track RefToBase More... | |
Definition at line 25 of file Conversion.h.
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.
Conversion::Conversion | ( | ) |
Definition at line 133 of file Conversion.cc.
References algorithm_, nSharedHits_, qualityMask_, theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.
Referenced by clone().
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 41 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 78 of file Conversion.cc.
References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.
Conversion::Conversion | ( | const reco::CaloClusterPtrVector | clu, |
const std::vector< edm::RefToBase< reco::Track > > & | tr, | ||
const reco::Vertex & | convVtx, | ||
ConversionAlgorithm | algo = undefined |
||
) |
Definition at line 105 of file Conversion.cc.
References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.
|
virtual |
|
inline |
Definition at line 229 of file Conversion.h.
References algorithm_.
|
static |
Definition at line 157 of file Conversion.cc.
References algoNames, algoSize, spr::find(), getHLTprescales::index, findQualityFiles::size, and undefined.
Referenced by ConversionProducer::buildCollection(), and ConvertedPhotonProducer::buildCollections().
|
inline |
Definition at line 234 of file Conversion.h.
References algorithm_, ecalSeeded, mixed, pflow, trackerOnly, and undefined.
|
inlinestatic |
Definition at line 248 of file Conversion.h.
References algoNames, and algoSize.
|
inline |
Definition at line 155 of file Conversion.h.
References theMatchingBCs_.
Referenced by dEtaTracksAtEcal(), and dPhiTracksAtEcal().
|
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().
Conversion * Conversion::clone | ( | void | ) | const |
returns a clone of the candidate
Definition at line 165 of file Conversion.cc.
References Conversion().
Referenced by ConvertedPhotonProducer::cleanCollections().
|
inline |
returns the reco conversion vertex
Definition at line 101 of file Conversion.h.
References theConversionVertex_.
Referenced by TkConvValidator::analyze(), dxy(), dz(), PF_PU_AssoMapAlgos::FindConversionVertex(), ConversionTools::isGoodConversion(), lxy(), lz(), ConversionTools::matchesConversion(), refittedPair4Momentum(), refittedPairMomentum(), and FWConvTrackHitsDetailView::setTextInfo().
double Conversion::dEtaTracksAtEcal | ( | ) | const |
Definition at line 356 of file Conversion.cc.
References bcMatchingWithTracks(), ecalImpactPosition(), nTracks(), and query::result.
|
inline |
Definition at line 129 of file Conversion.h.
References theMinDistOfApproach_.
Referenced by TkConvValidator::analyze(), and FWConvTrackHitsDetailView::setTextInfo().
|
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().
double Conversion::dPhiTracksAtEcal | ( | ) | const |
Definition at line 331 of file Conversion.cc.
References bcMatchingWithTracks(), ecalImpactPosition(), nTracks(), pi, and query::result.
double Conversion::dPhiTracksAtVtx | ( | ) | const |
Definition at line 318 of file Conversion.cc.
References nTracks(), pi, query::result, and tracksPin().
Referenced by TkConvValidator::analyze(), and FWConvTrackHitsDetailView::setTextInfo().
double Conversion::dxy | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 373 of file Conversion.cc.
References conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), reco::Vertex::x(), and reco::Vertex::y().
double Conversion::dz | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 385 of file Conversion.cc.
References conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), reco::Vertex::x(), reco::Vertex::y(), and reco::Vertex::z().
Referenced by zOfPrimaryVertexFromTracks().
|
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().
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 263 of file Conversion.cc.
References caloCluster(), i, nTracks(), pairMomentum(), edm::PtrVectorBase::size(), findQualityFiles::size, and mathSSE::sqrt().
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 285 of file Conversion.cc.
References caloCluster(), i, nTracks(), refittedPairMomentum(), edm::PtrVectorBase::size(), findQualityFiles::size, and mathSSE::sqrt().
bool Conversion::isConverted | ( | ) | const |
Bool flagging objects having track size >0.
Definition at line 186 of file Conversion.cc.
References nTracks().
double Conversion::lxy | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 397 of file Conversion.cc.
References conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), reco::Vertex::x(), and reco::Vertex::y().
double Conversion::lz | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 411 of file Conversion.cc.
References abs, conversionVertex(), reco::Vertex::isValid(), refittedPairMomentum(), and reco::Vertex::z().
|
inline |
get the value of the TMVA output
Definition at line 107 of file Conversion.h.
References theMVAout_.
|
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().
|
inline |
number of shared hits btw the two track
Definition at line 169 of file Conversion.h.
References nSharedHits_.
Referenced by TkConvValidator::analyze().
|
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().
|
inline |
get the MVS output from PF for one leg conversions
Definition at line 109 of file Conversion.h.
References theOneLegMVA_.
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 213 of file Conversion.cc.
References nTracks(), funct::tan(), and tracksPin().
Referenced by TkConvValidator::analyze(), ConversionLikelihoodCalculator::calculateLikelihood(), and FWConvTrackHitsDetailView::setTextInfo().
double Conversion::pairInvariantMass | ( | ) | const |
if nTracks=2 returns the pair invariant mass. Original tracks are used here
Definition at line 194 of file Conversion.cc.
References alignCSCRings::e, nTracks(), mathSSE::sqrt(), and tracksPin().
Referenced by TkConvValidator::analyze().
math::XYZVectorF Conversion::pairMomentum | ( | ) | const |
Conversion tracks momentum from the tracks inner momentum.
Definition at line 227 of file Conversion.cc.
References nTracks(), and tracksPin().
Referenced by EoverP(), FWConversionProxyBuilder::requestCommon(), and FWConvTrackHitsDetailView::setTextInfo().
|
inline |
Definition at line 185 of file Conversion.h.
References lumiQueryAPI::q, and qualityMask_.
Referenced by TkConvValidator::analyze().
math::XYZTLorentzVectorF Conversion::refittedPair4Momentum | ( | ) | const |
Conversion track pair 4-momentum from the tracks refitted with vertex constraint.
Definition at line 239 of file Conversion.cc.
References conversionVertex(), p4, and reco::Vertex::p4().
Referenced by PF_PU_AssoMapAlgos::FindConversionVertex(), and refittedPairMomentum().
math::XYZVectorF Conversion::refittedPairMomentum | ( | ) | const |
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition at line 252 of file Conversion.cc.
References conversionVertex(), and refittedPair4Momentum().
Referenced by TkConvValidator::analyze(), dxy(), dz(), EoverPrefittedTracks(), ConversionTools::isGoodConversion(), lxy(), lz(), ConversionTools::matchesConversion(), and ConversionProducer::matchingSC().
|
inline |
Conversion Track algorithm/provenance.
Definition at line 179 of file Conversion.h.
References a, algorithm_, and undefined.
|
inline |
Definition at line 177 of file Conversion.h.
References caloCluster_.
Referenced by ConversionProducer::buildCollection().
|
inline |
set the value of the TMVA output
Definition at line 173 of file Conversion.h.
References theMVAout_.
Referenced by ConvertedPhotonProducer::buildCollections().
|
inline |
set the MVS output from PF for one leg conversions
Definition at line 175 of file Conversion.h.
References theOneLegMVA_.
Referenced by PFPhotonTranslator::createOneLegConversions(), and GEDPhotonCoreProducer::createSingleLegConversions().
|
inline |
Definition at line 253 of file Conversion.h.
References lumiQueryAPI::q, and qualityMask_.
Referenced by ConversionProducer::buildCollection().
std::vector< edm::RefToBase< reco::Track > > Conversion::tracks | ( | void | ) | const |
vector of track to base references
Definition at line 170 of file Conversion.cc.
References tracks_, trackToBaseRefs_, and groupFilesInBlocks::tt.
Referenced by TkConvValidator::analyze(), FWConvTrackHitsDetailView::build(), ConversionLikelihoodCalculator::calculateLikelihood(), ConversionTools::matchesConversion(), nTracks(), FWConvTrackHitsDetailView::setTextInfo(), and tracksSigned_d0().
|
inline |
Vector containing the position of the innermost hit of each track.
Definition at line 159 of file Conversion.h.
References theTrackInnerPosition_.
|
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().
|
inline |
Vector of track momentum measured at the outermost hit.
Definition at line 161 of file Conversion.h.
References theTrackPout_.
std::vector< double > Conversion::tracksSigned_d0 | ( | ) | const |
signed transverse impact parameter for each track
Definition at line 307 of file Conversion.cc.
References DeDxDiscriminatorTools::charge(), i, nTracks(), query::result, and tracks().
|
inline |
Definition at line 149 of file Conversion.h.
References dz().
Referenced by TkConvValidator::analyze(), ConversionProducer::matchingSC(), and FWConversionProxyBuilder::requestCommon().
|
static |
Definition at line 44 of file Conversion.h.
Referenced by algoByName(), and algoName().
|
private |
conversion algorithm/provenance
Definition at line 223 of file Conversion.h.
Referenced by algo(), algoName(), Conversion(), and setConversionAlgorithm().
|
private |
vector pointer to a/multiple seed CaloCluster(s)
Definition at line 193 of file Conversion.h.
Referenced by caloCluster(), and setMatchingSuperCluster().
|
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().
|
private |
number of hits before the vertex on each trackerOnly
Definition at line 213 of file Conversion.h.
Referenced by nHitsBeforeVtx().
|
private |
number of shared hits between tracks
Definition at line 217 of file Conversion.h.
Referenced by Conversion(), and nSharedHits().
|
private |
Definition at line 224 of file Conversion.h.
Referenced by Conversion(), quality(), and setQuality().
|
private |
Fitted Kalman conversion vertex.
Definition at line 201 of file Conversion.h.
Referenced by conversionVertex().
|
private |
Clusters mathing the tracks (these are not the seeds)
Definition at line 203 of file Conversion.h.
Referenced by bcMatchingWithTracks().
|
private |
Distance of min approach of the two tracks.
Definition at line 205 of file Conversion.h.
Referenced by Conversion(), and distOfMinimumApproach().
|
private |
TMVA output.
Definition at line 219 of file Conversion.h.
Referenced by Conversion(), MVAout(), and setMVAout().
|
private |
vectors of TMVA outputs from pflow for one leg conversions
Definition at line 221 of file Conversion.h.
Referenced by oneLegMVA(), and setOneLegMVA().
|
private |
position at the ECAl surface of the track extrapolation
Definition at line 199 of file Conversion.h.
Referenced by Conversion(), and ecalImpactPosition().
|
private |
P_in of tracks.
Definition at line 207 of file Conversion.h.
Referenced by Conversion(), and tracksInnerPosition().
|
private |
P_in of tracks.
Definition at line 209 of file Conversion.h.
Referenced by Conversion(), and tracksPin().
|
private |
P_out of tracks.
Definition at line 211 of file Conversion.h.
Referenced by Conversion(), and tracksPout().
|
private |
|
mutableprivate |