CMS 3D CMS Logo

VertexClassifier.h
Go to the documentation of this file.
1 
2 #ifndef VertexClassifier_h
3 #define VertexClassifier_h
4 
8 
10 
12 
16 
19 public:
22 
25 
26  virtual ~VertexClassifier() {}
27 
29  virtual void newEvent(edm::Event const &, edm::EventSetup const &);
30 
33 
36 
39 
41  VertexHistory const &history() const { return tracer_; }
42 
43 private:
45 
47 
49 
52 
54 
57 
60 
62  void simulationInformation();
63 
65  void processesAtGenerator();
66 
68  void processesAtSimulation();
69 
71  void vertexInformation();
72 
75  GeneratedPrimaryVertex(double x1, double y1, double z1) : x(x1), y(y1), z(z1), ptsq(0), nGenTrk(0) {}
76 
77  bool operator<(GeneratedPrimaryVertex const &reference) const { return ptsq < reference.ptsq; }
78 
79  double x, y, z;
80  double ptsq;
81  int nGenTrk;
82 
83  HepMC::FourVector ptot;
84 
85  std::vector<int> finalstateParticles;
86  std::vector<int> simTrackIndex;
87  std::vector<int> genVertex;
88  };
89 
90  std::vector<GeneratedPrimaryVertex> genpvs_;
91 
92  // Auxiliary function to get the generated primary vertex
94  bool isCharged(const HepMC::GenParticle *);
95  void genPrimaryVertices();
96 };
97 
98 #endif
edm::Handle< edm::HepMCProduct > mcInformation_
This class traces the simulated and generated history of a given track.
Definition: VertexHistory.h:18
edm::ESGetToken< ParticleDataTable, edm::DefaultRecord > particleDataTableToken_
VertexHistory tracer_
void vertexInformation()
Get geometrical information about the vertices.
std::vector< GeneratedPrimaryVertex > genpvs_
GeneratedPrimaryVertex(double x1, double y1, double z1)
const edm::InputTag hepMCLabel_
bool isCharged(const HepMC::GenParticle *)
Get track history and classify it in function of their .
VertexCategories Categories
Type to the associate category.
bool isFinalstateParticle(const HepMC::GenParticle *)
VertexClassifier(edm::ParameterSet const &pset, edm::ConsumesCollector)
Constructor by ParameterSet.
void reconstructionInformation(reco::TrackBaseRef const &)
Get reconstruction information.
VertexClassifier const & evaluate(reco::VertexBaseRef const &)
Classify the RecoVertex in categories.
double longLivedDecayLength_
edm::ESHandle< ParticleDataTable > particleDataTable_
const G4toCMSLegacyProcTypeMap g4toCMSProcMap_
VertexHistory const & history() const
Returns a reference to the vertex history used in the classification.
virtual ~VertexClassifier()
VertexClassifier const & evaluate(reco::VertexRef const &vertex)
Classify the RecoVertex in categories.
void processesAtGenerator()
Get all the information related to decay process.
bool operator<(GeneratedPrimaryVertex const &reference) const
double vertexClusteringDistance_
virtual void newEvent(edm::Event const &, edm::EventSetup const &)
Pre-process event information (for accessing reconstraction information)
void processesAtSimulation()
Get information about conversion and other interactions.
Auxiliary class holding simulated primary vertices.
void simulationInformation()
Get all the information related to the simulation details.