00001 #ifndef xxxEventHypothesis_h 00002 #define xxxEventHypothesis_h 00003 // -*- C++ -*- 00005 // 00006 // Package: xxxEventHypothesis 00007 // Class: xxxEventHypothesis 00008 // 00013 //------------------------------------------------------------------------------------- 00021 //------------------------------------------------------------------------------------- 00022 // 00023 // 00024 // Original Author: John Doe 00025 // Created: day-mon-xx 00026 // RCS(Id) 00027 // 00028 00029 #include "DataFormats/PatCandidates/interface/HardEventHypothesis.h" 00030 00031 00032 namespace pat { 00033 00034 class xxxEventHypothesis : public HardEventHypothesis { 00035 public: 00036 00037 // This will return static event-wide definitions of the candidate roles. 00038 static const int N_ROLES = 0; 00039 static const char * candidateRoles[N_ROLES]; 00040 static const bool isVector[N_ROLES]; 00041 virtual int getNCandidateRoles () const { return N_ROLES; } 00042 virtual const char * getCandidateRole (int i = 0) const; 00043 virtual bool getIsVector( int i = 0 ) const; 00044 virtual int getSize( int i = 0 ) const; 00045 00046 00047 xxxEventHypothesis() {} 00048 virtual ~xxxEventHypothesis() {} 00049 00050 // This is where the event-specific interface will go 00051 PutMyEventHypothesisInterfaceHere; 00052 00053 protected: 00054 00055 // These must be implemented so that this class can be used by the StarterKit to 00056 // automatically make plots. 00057 virtual Candidate & getCandidate (std::string name, int index = -1); 00058 00059 00060 // This is where the event-specific data members will go 00061 PutMyEventHypothesisDataMembersHere; 00062 }; 00063 00064 } 00065 00066 #endif