CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
38  VertexClassifier const &evaluate(reco::VertexRef const &vertex) { return evaluate(reco::VertexBaseRef(vertex)); }
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_
VertexHistory const & history() const
Returns a reference to the vertex history used in the classification.
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.
double longLivedDecayLength_
edm::ESHandle< ParticleDataTable > particleDataTable_
const G4toCMSLegacyProcTypeMap g4toCMSProcMap_
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
VertexClassifier const & evaluate(reco::VertexBaseRef const &)
Classify the RecoVertex in categories.
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.