ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/src/L1TriggerDPGEvent.cpp
Revision: 1.3
Committed: Fri Jul 5 14:21:56 2013 UTC (11 years, 10 months ago) by grimes
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +5 -0 lines
Log Message:
Set the event weight in FullSamples properly

File Contents

# User Rev Content
1 grimes 1.1 #include "l1menu/L1TriggerDPGEvent.h"
2    
3     #include "l1menu/ITrigger.h"
4     #include "UserCode/L1TriggerUpgrade/interface/L1AnalysisDataFormat.h"
5    
6     namespace l1menu
7     {
8     class L1TriggerDPGEventPrivateMembers
9     {
10     public:
11 grimes 1.2 L1TriggerDPGEventPrivateMembers( const l1menu::ISample* pParentSample ) : pParentSample_(pParentSample) {}
12 grimes 1.1 L1Analysis::L1AnalysisDataFormat rawEvent;
13     bool physicsBits[128];
14     float weight;
15 grimes 1.2 const l1menu::ISample* pParentSample_;
16 grimes 1.1 };
17     }
18    
19    
20 grimes 1.2 l1menu::L1TriggerDPGEvent::L1TriggerDPGEvent( const l1menu::ISample& parentSample ) : pImple_( new L1TriggerDPGEventPrivateMembers(&parentSample) )
21 grimes 1.1 {
22     pImple_->weight=1;
23     }
24    
25     l1menu::L1TriggerDPGEvent::L1TriggerDPGEvent( const L1TriggerDPGEvent& otherEvent ) : pImple_( new L1TriggerDPGEventPrivateMembers(*otherEvent.pImple_) )
26     {
27     // No operation besides the initialiser list
28     }
29    
30     l1menu::L1TriggerDPGEvent::L1TriggerDPGEvent( L1TriggerDPGEvent&& otherEvent ) noexcept : pImple_( std::move(otherEvent.pImple_) )
31     {
32     // No operation besides the initialiser list
33     }
34    
35     l1menu::L1TriggerDPGEvent& l1menu::L1TriggerDPGEvent::operator=( const L1TriggerDPGEvent& otherEvent )
36     {
37     *pImple_=*otherEvent.pImple_;
38     return *this;
39     }
40    
41     l1menu::L1TriggerDPGEvent& l1menu::L1TriggerDPGEvent::operator=( L1TriggerDPGEvent&& otherEvent ) noexcept
42     {
43     pImple_=std::move(otherEvent.pImple_);
44     return *this;
45     }
46    
47     l1menu::L1TriggerDPGEvent::~L1TriggerDPGEvent()
48     {
49     // No operation
50     }
51    
52     L1Analysis::L1AnalysisDataFormat& l1menu::L1TriggerDPGEvent::rawEvent()
53     {
54     return pImple_->rawEvent;
55     }
56    
57     const L1Analysis::L1AnalysisDataFormat& l1menu::L1TriggerDPGEvent::rawEvent() const
58     {
59     return pImple_->rawEvent;
60     }
61    
62     bool* l1menu::L1TriggerDPGEvent::physicsBits()
63     {
64     return pImple_->physicsBits;
65     }
66    
67     const bool* l1menu::L1TriggerDPGEvent::physicsBits() const
68     {
69     return pImple_->physicsBits;
70     }
71    
72 grimes 1.3 void l1menu::L1TriggerDPGEvent::setWeight( float weight )
73     {
74     pImple_->weight=weight;
75     }
76    
77 grimes 1.1 bool l1menu::L1TriggerDPGEvent::passesTrigger( const l1menu::ITrigger& trigger ) const
78     {
79     // This is an IEvent method, but ITrigger has a method that can
80     // handle L1TriggerDPGEvent concrete objects, so call that
81     // reflexively.
82     return trigger.apply( *this );
83     }
84    
85     float l1menu::L1TriggerDPGEvent::weight() const
86     {
87     return pImple_->weight;
88     }
89 grimes 1.2
90     const l1menu::ISample& l1menu::L1TriggerDPGEvent::sample() const
91     {
92     return *pImple_->pParentSample_;
93     }