#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... | |
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 > > 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< 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< edm::RefToBase< reco::Track > > | trackToBaseRefs_ |
vector Track RefToBase More... | |
Definition at line 23 of file Conversion.h.
Enumerator | |
---|---|
undefined | |
ecalSeeded | |
trackerOnly | |
mixed | |
pflow | |
algoSize |
Definition at line 25 of file Conversion.h.
Enumerator | |
---|---|
generalTracksOnly | |
arbitratedEcalSeeded | |
arbitratedMerged | |
arbitratedMergedEcalGeneral | |
gsfTracksOpenOnly | |
highPurity | |
highEfficiency | |
ecalMatched1Track | |
ecalMatched2Track |
Definition at line 27 of file Conversion.h.
Conversion::Conversion | ( | ) |
Definition at line 121 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 40 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 8 of file Conversion.cc.
References HLT_2022v15_cff::track, and trackToBaseRefs_.
Conversion::Conversion | ( | const reco::CaloClusterPtrVector & | clu, |
const std::vector< reco::TrackRef > & | tr, | ||
const reco::Vertex & | convVtx, | ||
ConversionAlgorithm | algo = undefined |
||
) |
Definition at line 72 of file Conversion.cc.
References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, theTrackPout_, HLT_2022v15_cff::track, and trackToBaseRefs_.
Conversion::Conversion | ( | const reco::CaloClusterPtrVector & | clu, |
const std::vector< edm::RefToBase< reco::Track > > & | tr, | ||
const reco::Vertex & | convVtx, | ||
ConversionAlgorithm | algo = undefined |
||
) |
Definition at line 99 of file Conversion.cc.
References theMinDistOfApproach_, theMVAout_, thePositionAtEcal_, theTrackInnerPosition_, theTrackPin_, and theTrackPout_.
|
inline |
Definition at line 215 of file Conversion.h.
References algorithm_.
|
static |
Definition at line 139 of file Conversion.cc.
References algoNames, algoSize, spr::find(), Skims_PA_cff::name, findQualityFiles::size, and undefined.
Referenced by ConversionProducer::buildCollection(), and ConvertedPhotonProducer::buildCollections().
|
inline |
Definition at line 217 of file Conversion.h.
References algorithm_, ecalSeeded, mixed, pflow, trackerOnly, and undefined.
|
inlinestatic |
Definition at line 233 of file Conversion.h.
References a, algoNames, algoSize, and createfilelist::int.
|
inline |
Definition at line 144 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 84 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 148 of file Conversion.cc.
References Conversion().
Referenced by ConvertedPhotonProducer::cleanCollections().
|
inline |
returns the reco conversion vertex
Definition at line 88 of file Conversion.h.
References theConversionVertex_.
Referenced by TkConvValidator::analyze(), ConversionLessByChi2(), dxy(), dz(), lxy(), lz(), refittedPair4Momentum(), and refittedPairMomentum().
double Conversion::dEtaTracksAtEcal | ( | ) | const |
Definition at line 303 of file Conversion.cc.
References bcMatchingWithTracks(), ecalImpactPosition(), nTracks(), and mps_fire::result.
|
inline |
Definition at line 116 of file Conversion.h.
References theMinDistOfApproach_.
Referenced by TkConvValidator::analyze().
|
inline |
Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positions.
Definition at line 156 of file Conversion.h.
References dlClosestHitToVtx_.
Referenced by TkConvValidator::analyze().
double Conversion::dPhiTracksAtEcal | ( | ) | const |
Definition at line 270 of file Conversion.cc.
References bcMatchingWithTracks(), ecalImpactPosition(), nTracks(), pi, and mps_fire::result.
double Conversion::dPhiTracksAtVtx | ( | ) | const |
Definition at line 255 of file Conversion.cc.
References nTracks(), pi, mps_fire::result, and tracksPin().
double Conversion::dxy | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 313 of file Conversion.cc.
References conversionVertex(), refittedPairMomentum(), and extraflags_cff::vtx.
Referenced by Electron.Electron::cutBasedId(), and ntupleDataFormat.Track::dxyPull().
double Conversion::dz | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 324 of file Conversion.cc.
References conversionVertex(), refittedPairMomentum(), and extraflags_cff::vtx.
Referenced by Electron.Electron::cutBasedId(), ntupleDataFormat.Track::dzPull(), and zOfPrimaryVertexFromTracks().
|
inline |
The following are variables provided per each track positions of the track extrapolation at the ECAL front face
Definition at line 142 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 213 of file Conversion.cc.
References caloCluster(), SiStripBadComponentsDQMServiceTemplate_cfg::ep, mps_fire::i, nTracks(), pairMomentum(), edm::PtrVectorBase::size(), findQualityFiles::size, and mathSSE::sqrt().
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 229 of file Conversion.cc.
References caloCluster(), SiStripBadComponentsDQMServiceTemplate_cfg::ep, mps_fire::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 152 of file Conversion.cc.
References nTracks().
double Conversion::lxy | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 337 of file Conversion.cc.
References conversionVertex(), refittedPairMomentum(), and extraflags_cff::vtx.
double Conversion::lz | ( | const math::XYZPoint & | myBeamSpot = math::XYZPoint() | ) | const |
Definition at line 350 of file Conversion.cc.
References funct::abs(), conversionVertex(), refittedPairMomentum(), and extraflags_cff::vtx.
|
inline |
|
inline |
Vector of the number of hits before the vertex along each track trajector.
Definition at line 154 of file Conversion.h.
References nHitsBeforeVtx_.
Referenced by TkConvValidator::analyze().
|
inline |
number of shared hits btw the two track
Definition at line 158 of file Conversion.h.
References nSharedHits_.
Referenced by TkConvValidator::analyze().
|
inline |
Number of tracks= 0,1,2.
Definition at line 92 of file Conversion.h.
References tracks().
Referenced by dEtaTracksAtEcal(), dPhiTracksAtEcal(), dPhiTracksAtVtx(), EoverP(), EoverPrefittedTracks(), isConverted(), pairCotThetaSeparation(), pairInvariantMass(), and pairMomentum().
|
inline |
get the MVS output from PF for one leg conversions
Definition at line 96 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 179 of file Conversion.cc.
References nTracks(), funct::tan(), and tracksPin().
Referenced by TkConvValidator::analyze().
double Conversion::pairInvariantMass | ( | ) | const |
if nTracks=2 returns the pair invariant mass. Original tracks are used here
Definition at line 159 of file Conversion.cc.
References MillePedeFileConverter_cfg::e, nTracks(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), and tracksPin().
Referenced by TkConvValidator::analyze().
math::XYZVectorF Conversion::pairMomentum | ( | ) | const |
Conversion tracks momentum from the tracks inner momentum.
Definition at line 191 of file Conversion.cc.
References nTracks(), and tracksPin().
Referenced by EoverP().
|
inline |
Definition at line 178 of file Conversion.h.
References submitPVResolutionJobs::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 198 of file Conversion.cc.
References conversionVertex(), sistrip::SpyUtilities::isValid(), and reco::Vertex::p4().
Referenced by refittedPairMomentum().
math::XYZVectorF Conversion::refittedPairMomentum | ( | ) | const |
Conversion tracks momentum from the tracks refitted with vertex constraint.
Definition at line 206 of file Conversion.cc.
References conversionVertex(), sistrip::SpyUtilities::isValid(), and refittedPair4Momentum().
Referenced by TkConvValidator::analyze(), dxy(), dz(), EoverPrefittedTracks(), lxy(), lz(), and ConversionProducer::matchingSC().
|
inline |
Conversion Track algorithm/provenance.
Definition at line 167 of file Conversion.h.
References a, algorithm_, and undefined.
|
inline |
Definition at line 165 of file Conversion.h.
References caloCluster_.
Referenced by ConversionProducer::buildCollection().
|
inline |
set the value of the TMVA output
Definition at line 161 of file Conversion.h.
References beam_dqm_sourceclient-live_cfg::mva, and theMVAout_.
Referenced by ConvertedPhotonProducer::buildCollections().
|
inline |
set the MVS output from PF for one leg conversions
Definition at line 163 of file Conversion.h.
References beam_dqm_sourceclient-live_cfg::mva, and theOneLegMVA_.
Referenced by PFPhotonTranslator::createOneLegConversions(), and PFEGammaProducer::createSingleLegConversions().
|
inline |
Definition at line 239 of file Conversion.h.
References b, submitPVResolutionJobs::q, and qualityMask_.
Referenced by ConversionProducer::buildCollection().
std::vector< edm::RefToBase< reco::Track > > const & Conversion::tracks | ( | void | ) | const |
vector of track to base references
Definition at line 150 of file Conversion.cc.
References trackToBaseRefs_.
Referenced by TkConvValidator::analyze(), ConversionEqualByTrack(), nTracks(), reco::operator==(), and tracksSigned_d0().
|
inline |
Vector containing the position of the innermost hit of each track.
Definition at line 148 of file Conversion.h.
References theTrackInnerPosition_.
|
inline |
Vector of track momentum measured at the innermost hit.
Definition at line 152 of file Conversion.h.
References theTrackPin_.
Referenced by dPhiTracksAtVtx(), pairCotThetaSeparation(), pairInvariantMass(), and pairMomentum().
|
inline |
Vector of track momentum measured at the outermost hit.
Definition at line 150 of file Conversion.h.
References theTrackPout_.
std::vector< double > Conversion::tracksSigned_d0 | ( | ) | const |
signed transverse impact parameter for each track
Definition at line 245 of file Conversion.cc.
References mps_fire::result, findQualityFiles::size, HLT_2022v15_cff::track, and tracks().
|
inline |
Definition at line 136 of file Conversion.h.
References dz().
Referenced by TkConvValidator::analyze(), and ConversionProducer::matchingSC().
|
static |
Definition at line 39 of file Conversion.h.
Referenced by algoByName(), and algoName().
|
private |
conversion algorithm/provenance
Definition at line 212 of file Conversion.h.
Referenced by algo(), algoName(), Conversion(), and setConversionAlgorithm().
|
private |
vector pointer to a/multiple seed CaloCluster(s)
Definition at line 183 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 201 of file Conversion.h.
Referenced by dlClosestHitToVtx().
|
private |
number of hits before the vertex on each trackerOnly
Definition at line 199 of file Conversion.h.
Referenced by nHitsBeforeVtx().
|
private |
number of shared hits between tracks
Definition at line 210 of file Conversion.h.
Referenced by Conversion(), and nSharedHits().
|
private |
Definition at line 208 of file Conversion.h.
Referenced by Conversion(), quality(), and setQuality().
|
private |
Fitted Kalman conversion vertex.
Definition at line 189 of file Conversion.h.
Referenced by conversionVertex().
|
private |
Clusters mathing the tracks (these are not the seeds)
Definition at line 191 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 207 of file Conversion.h.
Referenced by Conversion(), MVAout(), and setMVAout().
|
private |
vectors of TMVA outputs from pflow for one leg conversions
Definition at line 203 of file Conversion.h.
Referenced by oneLegMVA(), and setOneLegMVA().
|
private |
position at the ECAl surface of the track extrapolation
Definition at line 187 of file Conversion.h.
Referenced by Conversion(), and ecalImpactPosition().
|
private |
P_in of tracks.
Definition at line 193 of file Conversion.h.
Referenced by Conversion(), and tracksInnerPosition().
|
private |
P_in of tracks.
Definition at line 195 of file Conversion.h.
Referenced by Conversion(), and tracksPin().
|
private |
P_out of tracks.
Definition at line 197 of file Conversion.h.
Referenced by Conversion(), and tracksPout().
|
private |
Definition at line 185 of file Conversion.h.
Referenced by Conversion(), and tracks().