ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/TreeMod/interface/BaseMod.h
Revision: 1.8
Committed: Sun Sep 28 02:34:14 2008 UTC (16 years, 7 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_006, Mit_005, Mit_004
Changes since 1.7: +26 -7 lines
Log Message:
Implement convenient get functions for HLT trigger and objects.

File Contents

# User Rev Content
1 loizides 1.6 //--------------------------------------------------------------------------------------------------
2 loizides 1.8 // $Id: BaseMod.h,v 1.7 2008/09/10 03:33:28 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     : TAModule(name,title) {}
30 loizides 1.4 ~BaseMod() {}
31    
32     protected:
33 loizides 1.8 const EventHeader *GetEventHeader() const { return GetSel()->GetEventHeader(); }
34     const TriggerObjectCol *GetHLTObjects(const char *name) const;
35     const TriggerObjectsTable *GetHLTObjectsTable(const char *hltfwk="HLTFwkMod") const;
36     const TriggerTable *GetHLTTable(const char *hltfwk="HLTFwkMod") const;
37     const RunInfo *GetRunInfo() const { return GetSel()->GetRunInfo(); }
38     const Selector *GetSel() const;
39     Bool_t HasHLTInfo(const char *hltfwk="HLTFwkMod") const;
40     Bool_t ValidRunInfo() const { return GetSel()->ValidRunInfo(); }
41 loizides 1.1
42 loizides 1.4 ClassDef(BaseMod,1) // Base TAM module
43 loizides 1.1 };
44 loizides 1.6 }
45 loizides 1.4
46 loizides 1.6 //--------------------------------------------------------------------------------------------------
47 loizides 1.8 inline const mithep::TriggerObjectCol *mithep::BaseMod::GetHLTObjects(const char *name) const
48     {
49     // Get pointer to HLT TriggerObjects collection with given name for the current event.
50    
51     return (dynamic_cast<const TriggerObjectCol *>(FindObjThisEvt(name)));
52     }
53    
54     //--------------------------------------------------------------------------------------------------
55 loizides 1.6 inline const mithep::Selector *mithep::BaseMod::GetSel() const
56     {
57 loizides 1.8 // Get pointer to selector.
58    
59 loizides 1.6 return static_cast<const Selector*>(GetSelector());
60 loizides 1.1 }
61     #endif