00001 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00002 // 02.08.2007, AUTHOR: OLIVER KORTNER 00003 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00004 00005 #ifndef MyPileUpExtractedEventH 00006 #define MyPileUpExtractedEventH 00007 00008 //:::::::::::::::::::::::::::::::::: 00009 //:: CLASS MyPileUpExtractedEvent :: 00010 //:::::::::::::::::::::::::::::::::: 00011 00021 00022 //:::::::::::::::::: 00023 //:: HEADER FILES :: 00024 //:::::::::::::::::: 00025 00026 // my analysis // 00027 #include "NtupleReader/MyEvent.h" 00028 00029 class MyPileUpExtractedEvent { 00030 00031 public: 00032 // Constructor // 00033 MyPileUpExtractedEvent(const MyEvent & event); 00036 00037 // Method // 00038 inline int run_number(void) const; 00040 inline int event_number(void) const; 00042 inline double event_weight(void) const; 00044 inline const MyVertex * vertex(void) const; 00048 inline const MyVertex * truth_vertex(void) const; 00052 inline std::vector<MyParticle *> reco_electrons(void) const; 00055 inline std::vector<MyParticle*> reco_muons(int alg_flag) const; 00062 inline std::vector<MyParticle*> 00063 reco_muons(std::string alg_string = "default") const; 00066 inline std::vector<MyParticle *> reco_jets(void) const; 00069 inline std::vector<MyParticle *> * track_jets(void) const; 00072 inline std::vector<MyParticle*> * truth_track_jets(void) const; 00075 inline std::vector<MyParticle *> reco_taujets(void) const; 00078 inline std::vector<MyParticle *> truth_particles(void) const; 00081 inline std::vector<MyParticle *> truth_jets(void) const; 00084 inline MyMissingEtManager met_manager(void) const; 00086 inline MyTrigger trigger(void) const; 00088 00089 private: 00090 // run and event number // 00091 int m_run_nb; // run number 00092 int m_event_nb; // event number 00093 00094 // event data // 00095 // from reconstruction // 00096 MyVertex *m_vertex; // vertex of greatest total transverse track energy 00097 MyVertex *m_truth_vertex; // truth vertex of greatest total transverse track energy 00098 00099 std::vector<MyParticle *> m_rec_electron; // electrons emerging from 00100 // this vertex 00101 std::vector<MyParticle *> m_rec_muon; // muons from this vertex 00102 std::vector<MyParticle *> m_rec_jet; // reconstructed jets (no vertex 00103 // association) 00104 std::vector<MyParticle *> *m_track_jet; 00105 // track jets from the given 00106 // vertex 00107 std::vector<MyParticle *> *m_truth_track_jet; 00108 // track jets from the given 00109 // vertex 00110 std::vector<MyParticle *> m_rec_taujet; // tau jets (no vertex 00111 // association) 00112 MyMissingEtManager m_met_manager; // missing transverse energy 00113 MyTrigger m_trigger; // trigger decision 00114 00115 // MyDatasetInfo 00116 MyDatasetInfo *m_dataset_info; 00117 00118 // from Monte-Carlo truth // 00119 double m_event_weight; // event weight 00120 std::vector<MyParticle *> m_truth_particle; // truth particles (no 00121 // vertex association) 00122 std::vector<MyParticle *> m_truth_jet; // truth jets (no vertex 00123 // association) 00124 00125 }; 00126 00127 //:::::::::::::::::::::::::::::::::::::::::::::: 00128 //:: INCLUDE IMPLEMENTATION OF INLINE METHODS :: 00129 //:::::::::::::::::::::::::::::::::::::::::::::: 00130 00131 #include "MyPileUpExtractedEvent.ixx" 00132 00133 #endif