CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PhotonConversionTrajectorySeedProducerFromSingleLegAlgo.h
Go to the documentation of this file.
1 #ifndef PhotonConversionFinderFromTracks_H
2 #define PhotonConversionFinderFromTracks_H
3 
9 
12 
13 #include "IdealHelixParameters.h"
14 
15 #include "PrintRecoObjects.h"
16 
21 
23 
27 
28 #include <sstream>
29 
30 inline bool lt_(std::pair<double, short> a, std::pair<double, short> b) { return a.first < b.first; }
31 
33 public:
36 
38 
39  IdealHelixParameters* getIdealHelixParameters() { return &_IdealHelixParameters; }
40 
41 private:
42  void loopOnTracks();
43  bool inspectTrack(const reco::Track* track, const TrackingRegion& region, math::XYZPoint& primaryVertexPoint);
44 
45  bool rejectTrack(const reco::Track& track);
46 
47  bool selectPriVtxCompatibleWithTrack(const reco::Track& tk,
48  std::vector<reco::Vertex>& selectedPriVtxCompatibleWithTrack);
49  void loopOnPriVtx(const reco::Track& tk, const std::vector<reco::Vertex>& selectedPriVtxCompatibleWithTrack);
50 
51  //Data Members
52 
53  TrajectorySeedCollection* seedCollection = nullptr;
54 
55  std::unique_ptr<CombinedHitPairGeneratorForPhotonConversion> theHitsGenerator;
56  std::unique_ptr<SeedForPhotonConversion1Leg> theSeedCreator;
57  std::unique_ptr<GlobalTrackingRegionProducerFromBeamSpot> theRegionProducer;
58 
61 
62  double _vtxMinDoF, _maxDZSigmas;
63  size_t _maxNumSelVtx;
66  edm::InputTag _primaryVtxInputTag, _beamSpotInputTag;
71 
72  typedef std::vector<std::unique_ptr<TrackingRegion> > Regions;
73  typedef Regions::const_iterator IR;
75 
77 
80 
84 
86 
89 
91 
92  std::stringstream ss;
93 };
94 #endif
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
std::vector< TrajectorySeed > TrajectorySeedCollection
#define dso_hidden
Definition: Visibility.h:12
bool lt_(std::pair< double, short > a, std::pair< double, short > b)
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double b
Definition: hdecay.h:118
std::unique_ptr< CombinedHitPairGeneratorForPhotonConversion > theHitsGenerator
double a
Definition: hdecay.h:119