CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/RecoParticleFlow/PFRootEvent/interface/PFRootEventManagerColin.h

Go to the documentation of this file.
00001 #ifndef Demo_PFRootEvent_PFRootEventManagerColin_h
00002 #define Demo_PFRootEvent_PFRootEventManagerColin_h
00003 
00004 #include "RecoParticleFlow/PFRootEvent/interface/PFRootEventManager.h"
00005 
00006 class NeutralEvent {
00007  public:
00008   NeutralEvent() {
00009     reset();
00010   }
00011 
00012   virtual void reset() {
00013     eECAL = -1;
00014     eHCAL = -1;
00015     eNeutral = -1;
00016     etaECAL = -10;
00017     etaHCAL = -10;
00018     etaNeutral = -10;
00019     nECAL = -1;
00020     nHCAL = -1;
00021     rCode = 0;
00022   }
00023 
00024   double eECAL;         
00025   double eHCAL;     
00026   double eNeutral;
00027   double etaECAL;         
00028   double etaHCAL;     
00029   double etaNeutral;
00030   int    nECAL;
00031   int    nHCAL;
00032   int    rCode;
00033 };
00034 
00035 
00036 class TauEvent : public NeutralEvent {
00037  public:
00038   TauEvent() : 
00039     NeutralEvent() {
00040     reset();
00041   }
00042 
00043   void reset() {
00044     NeutralEvent::reset();
00045     pTrack = -1;
00046     ptTrack = -1;
00047     etaTrack = -10;
00048     pHadron = -1;
00049     eEcalHadron = -1;
00050     chi2ECAL = -1;
00051   }
00052   
00053   
00054   double pTrack;
00055   double ptTrack;
00056   double etaTrack;
00057   double pHadron;
00058   double eEcalHadron;
00059   double chi2ECAL;
00060 };
00061 
00062 
00063 class PFRootEventManagerColin : public PFRootEventManager {
00064   
00065  public:
00066   PFRootEventManagerColin(const char* file);
00067 
00068   ~PFRootEventManagerColin();
00069 
00070   void readSpecificOptions(const char* file);
00071 
00072   bool processEntry(int entry);
00073   bool processNeutral(); 
00074   bool processHIGH_E_TAUS();
00075  
00076   
00077   void write();
00078 
00079 
00080   enum Mode {
00081     Neutral=0,
00082     HIGH_E_TAUS=1
00083   };
00084 
00085   TTree          *outTreeMy_;
00086   NeutralEvent   *neutralEvent_;
00087   TauEvent       *tauEvent_;
00088   int             mode_;
00089 };
00090 
00091 #endif