CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HardEventHypothesis.h
Go to the documentation of this file.
1 #ifndef DataFormats_PatCandidates_interface_HardEventHypothesis_h
2 #define DataFormats_PatCandidates_interface_HardEventHypothesis_h
3 
4 
5 
6 // -*- C++ -*-
8 //
9 // Package: HardEventHypothesis
10 // Class: HardEventHypothesis
11 //
16 //-------------------------------------------------------------------------------------
85 //-------------------------------------------------------------------------------------
86 //
87 // Original Author: Salvatore Rappoccio
88 // Created: Tue Feb 12 14:42:17 CST 2008
89 //
90 // Revision History:
91 //
92 
93 
94 
95 
104 #include <vector>
105 
106 class StarterKit;
107 
108 namespace pat {
109 
111  public:
112 
113  // Allow StarterKit to access the internal members of this class
114  friend class StarterKit;
115 
116  // Setting quality member
117  inline void setQuality( float q ) { quality_ = q;}
118 
119  // Getting quality member
120  inline float getQuality() const { return quality_; }
121 
122  // This will return static event-wide definitions of the candidate roles.
123  virtual const char * getCandidateRole ( int i = 0 ) const = 0;
124  // This will return static event-wide boolean to see if the role is a vector or not
125  virtual bool getIsVector(int i = 0) const = 0;
126 
127  protected:
128 
129  // Pure virtual function to access members polymorphically in the StarterKit, etc.
130  // The user should not use these classes.
131  // If irole == -1, then there is no vector access. If it is >= 0, then that corresponds
132  // to the role index (for instance, in Z+jets, getCandidate("jets", 2) would return the 3rd
133  // jet in the jet list.
134  virtual reco::Candidate & getCandidate (std::string name, int irole = -1) = 0;
135 
136  float quality_;
137  };
138 
139 }
140 
141 #endif
int i
Definition: DBlmapReader.cc:9
HardEventHypothesis is a pure virtual base class to implement a &quot;hard&quot; event hypothesis class...
virtual bool getIsVector(int i=0) const =0
virtual const char * getCandidateRole(int i=0) const =0
virtual reco::Candidate & getCandidate(std::string name, int irole=-1)=0