CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/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 ~NeutralEvent() {};
00013 
00014   virtual void reset() {
00015     eECAL = -1;
00016     eHCAL = -1;
00017     eNeutral = -1;
00018     etaECAL = -10;
00019     etaHCAL = -10;
00020     etaNeutral = -10;
00021     nECAL = -1;
00022     nHCAL = -1;
00023     rCode = 0;
00024   }
00025 
00026   double eECAL;         
00027   double eHCAL;     
00028   double eNeutral;
00029   double etaECAL;         
00030   double etaHCAL;     
00031   double etaNeutral;
00032   int    nECAL;
00033   int    nHCAL;
00034   int    rCode;
00035 };
00036 
00037 
00038 class TauEvent : public NeutralEvent {
00039  public:
00040   TauEvent() : 
00041     NeutralEvent() {
00042     reset();
00043   }
00044 
00045   virtual ~TauEvent() {};
00046 
00047   void reset() {
00048     NeutralEvent::reset();
00049     pTrack = -1;
00050     ptTrack = -1;
00051     etaTrack = -10;
00052     pHadron = -1;
00053     eEcalHadron = -1;
00054     chi2ECAL = -1;
00055   }
00056   
00057   
00058   double pTrack;
00059   double ptTrack;
00060   double etaTrack;
00061   double pHadron;
00062   double eEcalHadron;
00063   double chi2ECAL;
00064 };
00065 
00066 
00067 class PFRootEventManagerColin : public PFRootEventManager {
00068   
00069  public:
00070   PFRootEventManagerColin(const char* file);
00071 
00072   ~PFRootEventManagerColin();
00073 
00074   void readSpecificOptions(const char* file);
00075 
00076   bool processEntry(int entry);
00077   bool processNeutral(); 
00078   bool processHIGH_E_TAUS();
00079  
00080   
00081   void write();
00082 
00083 
00084   enum Mode {
00085     Neutral=0,
00086     HIGH_E_TAUS=1
00087   };
00088 
00089   TTree          *outTreeMy_;
00090   NeutralEvent   *neutralEvent_;
00091   TauEvent       *tauEvent_;
00092   int             mode_;
00093 };
00094 
00095 #endif