ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/System8/s8/Analyzer/interface/TriggerAnalyzer.h
Revision: 1.1
Committed: Fri May 6 14:31:19 2011 UTC (14 years ago) by samvel
Content type: text/plain
Branch: MAIN
CVS Tags: melo-old
Log Message:
Import Analyzer

File Contents

# User Rev Content
1 samvel 1.1 /**
2     * TriggerAnalyzer
3     * s8
4     *
5     * Created by Samvel Khalatian on Nov 18, 2010
6     * Copyright 2010, All rights reserved
7     */
8    
9     #ifndef S8_TRIGGER_ANALYZER
10     #define S8_TRIGGER_ANALYZER
11    
12     #include <string>
13     #include <vector>
14    
15     #include <boost/shared_ptr.hpp>
16    
17     #include "Analyzer/interface/Analyzer.h"
18     #include "Option/interface/TriggerOptionsDelegate.h"
19     #include "S8Tree/interface/S8Trigger.h"
20    
21     class TH1;
22    
23     namespace s8
24     {
25     class TaggerOperatingPoint;
26    
27     class TriggerAnalyzer: public Analyzer,
28     public TriggerOptionsDelegate
29     {
30     public:
31     TriggerAnalyzer() throw();
32     virtual ~TriggerAnalyzer() throw();
33    
34     // Analyzer interface
35     //
36     virtual void init();
37    
38     virtual void treeDidLoad(const TreeInfo *,
39     const TriggerCenter *);
40    
41     virtual void eventDidLoad(const Event *);
42     virtual void print(std::ostream &) const;
43     virtual void save(TDirectory *) const;
44    
45     // Trigger options
46     //
47     void optionTriggerIsSet(const Trigger &);
48    
49     private:
50     struct TriggerCounter
51     {
52     typedef boost::shared_ptr<TH1> TH1Ptr;
53    
54     TriggerCounter(const Trigger &hlt);
55    
56     Trigger trigger;
57     int counter;
58     std::string name;
59     TH1Ptr prescale;
60     };
61    
62     typedef std::vector<TriggerCounter> Triggers;
63    
64     Triggers _triggers;
65     };
66     }
67    
68     #endif