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 
10 
13 
14 #include "IdealHelixParameters.h"
15 
16 #include "PrintRecoObjects.h"
17 
22 
24 
28 
29 #include <sstream>
30 
31 inline bool lt_(std::pair<double, short> a, std::pair<double, short> b) { return a.first < b.first; }
32 
34 public:
37 
39 
40  IdealHelixParameters* getIdealHelixParameters() { return &_IdealHelixParameters; }
41 
42 private:
43  void loopOnTracks();
44  bool inspectTrack(const reco::Track* track, const TrackingRegion& region, math::XYZPoint& primaryVertexPoint);
45 
46  bool rejectTrack(const reco::Track& track);
47 
48  bool selectPriVtxCompatibleWithTrack(const reco::Track& tk,
49  std::vector<reco::Vertex>& selectedPriVtxCompatibleWithTrack);
50  void loopOnPriVtx(const reco::Track& tk, const std::vector<reco::Vertex>& selectedPriVtxCompatibleWithTrack);
51 
52  //Data Members
53 
54  TrajectorySeedCollection* seedCollection = nullptr;
55 
56  std::unique_ptr<CombinedHitPairGeneratorForPhotonConversion> theHitsGenerator;
57  std::unique_ptr<SeedForPhotonConversion1Leg> theSeedCreator;
58  std::unique_ptr<GlobalTrackingRegionProducerFromBeamSpot> theRegionProducer;
59 
62 
63  double _vtxMinDoF, _maxDZSigmas;
64  size_t _maxNumSelVtx;
67  edm::InputTag _primaryVtxInputTag, _beamSpotInputTag;
72 
73  typedef std::vector<std::unique_ptr<TrackingRegion> > Regions;
74  typedef Regions::const_iterator IR;
76 
78 
81 
85 
87 
90 
92 
93  std::stringstream ss;
94 };
95 #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