ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/TreeMod/src/BaseMod.cc
Revision: 1.9
Committed: Mon Jul 13 10:39:20 2009 UTC (15 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_012b, Mit_012a, Mit_012, Mit_011a, Mit_011, Mit_010a, Mit_010
Changes since 1.8: +2 -2 lines
Log Message:
Updated for changes in trigger classes

File Contents

# User Rev Content
1 loizides 1.9 // $Id: BaseMod.cc,v 1.8 2009/06/15 15:00:17 loizides Exp $
2 loizides 1.1
3 loizides 1.2 #include "MitAna/TreeMod/interface/HLTFwkMod.h"
4 loizides 1.9 #include "MitAna/DataTree/interface/TriggerObjectsTable.h"
5 loizides 1.3 #include <TH1D.h>
6 loizides 1.1
7     using namespace mithep;
8    
9     ClassImp(mithep::BaseMod)
10 loizides 1.2
11     //--------------------------------------------------------------------------------------------------
12 loizides 1.5 BaseMod::BaseMod(const char *name, const char *title) :
13 loizides 1.6 TAModule(name,title),
14     fFillHist(kFALSE),
15 loizides 1.7 fEvtObjBrNames(0),
16 loizides 1.5 fHltFwkMod(0),
17     fHltFwkModName("HLTFwkMod"),
18 loizides 1.6 fNEventsProc(0)
19 loizides 1.5 {
20     // Constructor.
21 loizides 1.7
22     fEvtObjBrNames.SetOwner(kTRUE);
23 loizides 1.5 }
24    
25     //--------------------------------------------------------------------------------------------------
26     const TriggerObjectsTable *BaseMod::GetHLTObjectsTable() const
27 loizides 1.2 {
28     // Get pointer to HLT objects table obtained by module with given name. (Note: normally
29     // you want to stick to the default argument.)
30    
31     if (!HasHLTInfo())
32     return 0;
33    
34 loizides 1.5 return (dynamic_cast<const TriggerObjectsTable *>(FindPublicObj(fHltFwkMod->HLTObjsNamePub())));
35 loizides 1.2 }
36    
37     //--------------------------------------------------------------------------------------------------
38 loizides 1.5 const TriggerTable *BaseMod::GetHLTTable() const
39 loizides 1.2 {
40 loizides 1.5 // Get pointer to HLT trigger table obtained by module with given name.
41 loizides 1.2
42 loizides 1.5 if (!HasHLTInfo())
43 loizides 1.2 return 0;
44    
45 loizides 1.5 return (dynamic_cast<const TriggerTable *>(FindPublicObj(fHltFwkMod->HLTTabNamePub())));
46 loizides 1.2 }
47    
48     //--------------------------------------------------------------------------------------------------
49 loizides 1.5 Bool_t BaseMod::HasHLTInfo() const
50 loizides 1.2 {
51 loizides 1.5 // Check if HLT framework module is in list of modules.
52    
53     if (fHltFwkMod)
54     return kTRUE;
55 loizides 1.2
56     if (!GetSelector() || !GetSelector()->GetTopModule())
57     return kFALSE;
58    
59     const TList *tasks = GetSelector()->GetTopModule()->GetSubModules();
60     if (!tasks)
61     return kFALSE;
62    
63 loizides 1.5 fHltFwkMod = dynamic_cast<const HLTFwkMod*>(tasks->FindObject(fHltFwkModName));
64     if (fHltFwkMod)
65 loizides 1.2 return kTRUE;
66     return kFALSE;
67     }
68 loizides 1.3
69     //--------------------------------------------------------------------------------------------------
70     void BaseMod::SaveNEventsProcessed(const char *name)
71     {
72     // Save the number of processed events in a one-bin histogram.
73    
74     TH1D *hDEvents = new TH1D(name,"Total number of processed events",1,-0.5,0.5);
75 loizides 1.6 hDEvents->Fill(0.0,fNEventsProc);
76     hDEvents->SetEntries(fNEventsProc);
77 loizides 1.3 AddOutput(hDEvents);
78     }