CMS 3D CMS Logo

ConversionFinder.h
Go to the documentation of this file.
1 #ifndef EgammaTools_ConversionFinder_h
2 #define EgammaTools_ConversionFinder_h
3 
23 #include "Math/VectorUtil.h"
24 #include "ConversionInfo.h"
25 
26 /*
27  Class Looks for oppositely charged track in the
28  track collection with the minimum delta cot(theta) between the track
29  and the electron's CTF track (if it doesn't exist, we use the electron's
30  GSF track). Calculate the dist, dcot, point of conversion and the
31  radius of conversion for this pair and fill the ConversionInfo
32 */
33 
34 namespace egammaTools {
35  //bField has to be supplied in Tesla
36 
37  //returns a vector of Conversion Infos.
38  //you have to decide which is the best
39  std::vector<ConversionInfo> getConversionInfos(const reco::GsfElectronCore&,
40  const edm::Handle<reco::TrackCollection>& ctftracks_h,
41  const edm::Handle<reco::GsfTrackCollection>& gsftracks_h,
42  const double bFieldAtOrigin,
43  const double minFracSharedHits = 0.45);
44 
45  //retruns the "best" Conversion Info after calling getConversionInfos
47  const edm::Handle<reco::TrackCollection>& ctftracks_h,
48  const edm::Handle<reco::GsfTrackCollection>& gsftracks_h,
49  const double bFieldAtOrigin,
50  const double minFracSharedHits = 0.45);
51 
52  //retruns the "best" Conversion Info after calling getConversionInfos
54  const edm::Handle<reco::TrackCollection>& ctftracks_h,
55  const edm::Handle<reco::GsfTrackCollection>& gsftracks_h,
56  const double bFieldAtOrigin,
57  const double minFracSharedHits = 0.45);
58 
59  //takes in a vector of candidate conversion partners
60  //and arbitrates between them returning the one with the
61  //smallest R=sqrt(dist*dist + dcot*dcot)
62  ConversionInfo arbitrateConversionPartnersbyR(const std::vector<ConversionInfo>& v_convCandidates);
63 
64  //places different cuts on dist, dcot, delmissing hits and arbitration based on R = sqrt(dist*dist + dcot*dcot)
65  ConversionInfo findBestConversionMatch(const std::vector<ConversionInfo>& v_convCandidates);
66 
67  //for backwards compatibility. Does not use the GSF track collection. This function will be
68  //deprecated soon
71  const double bFieldAtOrigin,
72  const double minFracSharedHits = 0.45);
73 
74  // DEPRECATED
75  bool isFromConversion(const ConversionInfo&, double maxAbsDist = 0.02, double maxAbsDcot = 0.02);
76 
77 } // namespace egammaTools
78 #endif
TrackExtra.h
ConversionInfo
Definition: ConversionInfo.h:8
egammaTools::arbitrateConversionPartnersbyR
ConversionInfo arbitrateConversionPartnersbyR(const std::vector< ConversionInfo > &v_convCandidates)
Definition: ConversionFinder.cc:275
egammaTools::getConversionInfos
std::vector< ConversionInfo > getConversionInfos(const reco::GsfElectronCore &, const edm::Handle< reco::TrackCollection > &ctftracks_h, const edm::Handle< reco::GsfTrackCollection > &gsftracks_h, const double bFieldAtOrigin, const double minFracSharedHits=0.45)
Definition: ConversionFinder.cc:46
edm::Handle< reco::TrackCollection >
ConversionInfo.h
Track.h
TrackFwd.h
egammaTools::findBestConversionMatch
ConversionInfo findBestConversionMatch(const std::vector< ConversionInfo > &v_convCandidates)
Definition: ConversionFinder.cc:297
IdealMagneticFieldRecord.h
egammaTools::getConversionInfo
ConversionInfo getConversionInfo(const reco::GsfElectronCore &, const edm::Handle< reco::TrackCollection > &ctftracks_h, const edm::Handle< reco::GsfTrackCollection > &gsftracks_h, const double bFieldAtOrigin, const double minFracSharedHits=0.45)
Definition: ConversionFinder.cc:35
reco::GsfElectron
Definition: GsfElectron.h:35
egammaTools::isFromConversion
bool isFromConversion(const ConversionInfo &, double maxAbsDist=0.02, double maxAbsDcot=0.02)
Definition: ConversionFinder.cc:20
GsfElectron.h
egammaTools
Definition: ConversionFinder.h:34
reco::GsfElectronCore
Definition: GsfElectronCore.h:32
LorentzVector.h
GsfTrack.h
MagneticField.h
GsfTrackFwd.h
Point3D.h