1 #ifndef EgammaCandidates_Conversion_h 2 #define EgammaCandidates_Conversion_h 46 const std::vector<math::XYZPointF>& trackPositionAtEcal,
48 const std::vector<reco::CaloClusterPtr>& matchingBC,
50 const std::vector<math::XYZPointF>& innPoint,
51 const std::vector<math::XYZVectorF>& trackPin,
52 const std::vector<math::XYZVectorF>& trackPout,
60 const std::vector<reco::TrackRef>& tr,
61 const std::vector<math::XYZPointF>& trackPositionAtEcal,
63 const std::vector<reco::CaloClusterPtr>& matchingBC,
65 const std::vector<math::XYZPointF>& innPoint,
66 const std::vector<math::XYZVectorF>& trackPin,
67 const std::vector<math::XYZVectorF>& trackPout,
72 const std::vector<reco::TrackRef>& tr,
86 std::vector<edm::RefToBase<reco::Track> >
const&
tracks()
const;
137 return dz(myBeamSpot) + myBeamSpot.z();
224 return "trackerOnly";
const std::vector< math::XYZPointF > & ecalImpactPosition() const
double dxy(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
static const std::string algoNames[]
double zOfPrimaryVertexFromTracks(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
bool isConverted() const
Bool flagging objects having track size >0.
const std::vector< Measurement1DFloat > & dlClosestHitToVtx() const
Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positi...
std::vector< math::XYZVectorF > theTrackPout_
P_out of tracks.
double distOfMinimumApproach() const
std::string algoName() const
double pairCotThetaSeparation() const
Delta cot(Theta) where Theta is the angle in the (y,z) plane between the two tracks. Original tracks are used.
void setQuality(ConversionQuality q, bool b)
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
reco::CaloClusterPtrVector caloCluster_
vector pointer to a/multiple seed CaloCluster(s)
math::XYZVectorF pairMomentum() const
Conversion tracks momentum from the tracks inner momentum.
static ConversionAlgorithm algoByName(const std::string &name)
uint8_t nSharedHits() const
number of shared hits btw the two track
double dz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
void setConversionAlgorithm(const ConversionAlgorithm a, bool set=true)
Conversion Track algorithm/provenance.
ConversionAlgorithm algo() const
uint8_t nSharedHits_
number of shared hits between tracks
const std::vector< math::XYZPointF > & tracksInnerPosition() const
Vector containing the position of the innermost hit of each track.
std::vector< double > tracksSigned_d0() const
signed transverse impact parameter for each track
double lxy(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
math::XYZTLorentzVectorF refittedPair4Momentum() const
Conversion track pair 4-momentum from the tracks refitted with vertex constraint. ...
Conversion * clone() const
returns a clone of the candidate
const std::vector< math::XYZVectorF > & tracksPout() const
Vector of track momentum measured at the outermost hit.
double dPhiTracksAtVtx() const
double MVAout() const
get the value of the TMVA output
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
std::vector< float > theOneLegMVA_
vectors of TMVA outputs from pflow for one leg conversions
std::vector< math::XYZPointF > theTrackInnerPosition_
P_in of tracks.
const std::vector< reco::CaloClusterPtr > & bcMatchingWithTracks() const
std::vector< float > const oneLegMVA()
get the MVS output from PF for one leg conversions
uint8_t algorithm_
conversion algorithm/provenance
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
double lz(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
double dPhiTracksAtEcal() const
XYZPointD XYZPoint
point in space with cartesian internal representation
double dEtaTracksAtEcal() const
std::vector< math::XYZVectorF > theTrackPin_
P_in of tracks.
float theMVAout_
TMVA output.
double pairInvariantMass() const
if nTracks=2 returns the pair invariant mass. Original tracks are used here
std::vector< reco::CaloClusterPtr > theMatchingBCs_
Clusters mathing the tracks (these are not the seeds)
void setMVAout(const float &mva)
set the value of the TMVA output
float theMinDistOfApproach_
Distance of min approach of the two tracks.
bool quality(ConversionQuality q) const
std::vector< math::XYZPointF > thePositionAtEcal_
position at the ECAl surface of the track extrapolation
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
void setOneLegMVA(const std::vector< float > &mva)
set the MVS output from PF for one leg conversions
const std::vector< uint8_t > & nHitsBeforeVtx() const
Vector of the number of hits before the vertex along each track trajector.
std::vector< edm::RefToBase< reco::Track > > trackToBaseRefs_
vector Track RefToBase
std::vector< Measurement1DFloat > dlClosestHitToVtx_
signed decay length and uncertainty from nearest hit on track to conversion vertex ...
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
reco::Vertex theConversionVertex_
Fitted Kalman conversion vertex.
unsigned int nTracks() const
Number of tracks= 0,1,2.
std::vector< uint8_t > nHitsBeforeVtx_
number of hits before the vertex on each trackerOnly
std::vector< edm::RefToBase< reco::Track > > const & tracks() const
vector of track to base references
double EoverPrefittedTracks() const
void setMatchingSuperCluster(const reco::CaloClusterPtrVector &sc)
reco::CaloClusterPtrVector caloCluster() const
Pointer to CaloCluster (foe Egamma Conversions it points to a SuperCluster)