/afs/hep.man.ac.uk/u/markowen/ATLAS/SFrameProof/2011EPS/manTreeSFrameBase/include/manTreeSCycleBase.h

00001 #ifndef manTreeSFrameBase_manTreeSCycleBase_H__
00002 #define manTreeSFrameBase_manTreeSCycleBase_H__
00003 
00004 #include <vector>
00005 #include <map>
00006 #include <set>
00007 
00009 #include "manTree/manTree/MInDetTrack.h"
00010 #include "manTree/manTree/MElectron.h"
00011 #include "manTree/manTree/MJet.h"
00012 #include "manTree/manTree/MMuon.h"
00013 #include "manTree/manTree/MVertex.h"
00014 #include "manTree/manTree/MMissingEt.h"
00015 #include "manTree/manTree/MEventInfo.h"
00016 #include "manTree/manTree/MTriggerChain.h"
00017 #include "manTree/manTree/MTriggerChainConf.h"
00018 #include "manTree/manTree/MTriggerChainResult.h"
00019 #include "manTree/manTree/MTruthParticle.h"
00020 #include "manTree/manTree/MInDetTrack.h"
00021 #include "manTree/manTree/MPDFInfo.h"
00022 
00023 #include "core/include/SCycleBase.h"
00024 
00025 #include "manTreeSFrameBase/include/MEventTool.h"
00026 
00045 class manTreeSCycleBase : public SCycleBase {
00046   
00047  public:
00048   
00049   manTreeSCycleBase();
00050 
00051   virtual ~manTreeSCycleBase();
00052 
00053   virtual void BeginInputFile(const SInputData& data) throw (SError) ;
00054 
00056   bool newEvent(int run, int event);
00057 
00059   void resetRunEventMap();
00060 
00062   void disableBranch(const std::string branchName) throw (SError) ;
00063 
00064  protected:
00065 
00066   // top-level event object
00067   MEventTool* m_event;
00068 
00069   // connect all the branches
00070   void connectManTree(const SInputData& data) throw(SError);
00071 
00072   // see if this InputData is real data or not
00073   void isRealData(const SInputData& data);
00074 
00076 
00078   std::vector<manchester::MElectron>* m_em;
00080   std::vector<manchester::MJet>* m_jet;
00082   std::vector<manchester::MJet>*  m_mcpart_jet;
00084   std::vector<manchester::MJet>* m_originalaod_jet;
00086   std::vector<manchester::MMuon>* m_muon;
00088   std::vector<manchester::MMuon>* m_stacomuon;
00090   std::vector<manchester::MVertex>* m_vertex;
00092   std::vector<manchester::MTriggerChain>* m_trigChains;
00094   std::vector<manchester::MTriggerChainResult>* m_trigResults;
00096   const manchester::MTriggerChainConf* m_trigconf;
00098   std::vector<manchester::MTruthParticle>* m_truthpart;
00100   manchester::MMissingEt* m_met;
00102   manchester::MEventInfo* m_evinfo;
00104   std::vector<manchester::MInDetTrack>* m_idTrk;
00105 
00107   bool m_realData;
00108 
00110   std::string m_inTreeName;
00111   std::string m_metName2010;
00112   std::string m_metName2011;
00113 
00115   std::map< int, std::set<int> > m_run_event_map;
00116 
00117   ClassDef(manTreeSCycleBase,0);
00118 
00119 };//manTreeSCycleBase
00120 
00121 
00122 
00123 #endif //manTreeSFrameBase_manTreeSCycleBase_H__

Generated on Thu Jun 30 11:40:04 2011 for manTreeSFrame by  doxygen 1.4.7