ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/TreeMod/interface/BaseMod.h
Revision: 1.9
Committed: Tue Nov 25 15:57:49 2008 UTC (16 years, 5 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.8: +13 -6 lines
Log Message:
Implement event counter plus storing in BaseMod. Used by AnaFwkMod.

File Contents

# User Rev Content
1 loizides 1.6 //--------------------------------------------------------------------------------------------------
2 loizides 1.9 // $Id: BaseMod.h,v 1.8 2008/09/28 02:34:14 loizides Exp $
3 loizides 1.2 //
4     // BaseMod
5     //
6 loizides 1.8 // This TAM module is the base module for all our TAM modules. It defines a couple of useful
7     // getters to retrieve information from the underlying framework code, such as the EventHeader,
8     // RunInfo or Trigger information.
9 loizides 1.2 //
10     // Authors: C.Loizides
11 loizides 1.6 //--------------------------------------------------------------------------------------------------
12 loizides 1.2
13 loizides 1.7 #ifndef MITANA_TREEMOD_BASEMOD_H
14     #define MITANA_TREEMOD_BASEMOD_H
15 loizides 1.1
16     #include "MitAna/TAM/interface/TAModule.h"
17 loizides 1.8 #include "MitAna/TreeMod/interface/Selector.h"
18     #include "MitAna/DataTree/interface/Collections.h"
19     #include "MitAna/DataTree/interface/TriggerName.h"
20     #include "MitAna/DataTree/interface/TriggerObject.h"
21 loizides 1.1
22     namespace mithep
23     {
24 loizides 1.5 class Selector;
25    
26 loizides 1.1 class BaseMod : public TAModule {
27     public:
28     BaseMod(const char *name="BaseMod", const char *title="Base analysis module")
29 loizides 1.9 : TAModule(name,title), fNEventsProcessed(0) {}
30 loizides 1.4 ~BaseMod() {}
31    
32     protected:
33 loizides 1.9 void IncNEventsProcessed() { ++fNEventsProcessed; }
34     Int_t GetNEventsProcessed() const { return fNEventsProcessed; }
35    
36     const EventHeader *GetEventHeader() const { return GetSel()->GetEventHeader(); }
37 loizides 1.8 const TriggerObjectCol *GetHLTObjects(const char *name) const;
38     const TriggerObjectsTable *GetHLTObjectsTable(const char *hltfwk="HLTFwkMod") const;
39     const TriggerTable *GetHLTTable(const char *hltfwk="HLTFwkMod") const;
40 loizides 1.9 const RunInfo *GetRunInfo() const { return GetSel()->GetRunInfo(); }
41     const Selector *GetSel() const;
42 loizides 1.8 Bool_t HasHLTInfo(const char *hltfwk="HLTFwkMod") const;
43 loizides 1.9 Bool_t ValidRunInfo() const { return GetSel()->ValidRunInfo(); }
44     void SaveNEventsProcessed(const char *name="hDEvents");
45    
46     private:
47     Int_t fNEventsProcessed; //number of events
48 loizides 1.1
49 loizides 1.4 ClassDef(BaseMod,1) // Base TAM module
50 loizides 1.1 };
51 loizides 1.6 }
52 loizides 1.4
53 loizides 1.6 //--------------------------------------------------------------------------------------------------
54 loizides 1.8 inline const mithep::TriggerObjectCol *mithep::BaseMod::GetHLTObjects(const char *name) const
55     {
56     // Get pointer to HLT TriggerObjects collection with given name for the current event.
57    
58     return (dynamic_cast<const TriggerObjectCol *>(FindObjThisEvt(name)));
59     }
60    
61     //--------------------------------------------------------------------------------------------------
62 loizides 1.6 inline const mithep::Selector *mithep::BaseMod::GetSel() const
63     {
64 loizides 1.8 // Get pointer to selector.
65    
66 loizides 1.6 return static_cast<const Selector*>(GetSelector());
67 loizides 1.1 }
68     #endif