ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/interface/l1menu/ReducedSample.h
Revision: 1.1
Committed: Thu Jul 4 13:02:21 2013 UTC (11 years, 10 months ago) by grimes
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Error occurred while calculating annotation data.
Log Message:
Renamed ReducedMenuSample to ReducedSample, and MenuSample to FullSample

File Contents

# Content
1 #ifndef l1menu_ReducedSample_h
2 #define l1menu_ReducedSample_h
3
4 #include <string>
5 #include <memory>
6 #include <map>
7
8 #include "l1menu/ReducedEvent.h"
9 #include "l1menu/ISample.h"
10
11 // Forward declarations
12 namespace l1menu
13 {
14 class FullSample;
15 class TriggerMenu;
16 class ITrigger;
17 }
18
19
20 namespace l1menu
21 {
22 /** @brief A simplified sample that has been reduced to just storing the thresholds required for each trigger to pass.
23 *
24 * @author Mark Grimes (mark.grimes@bristol.ac.uk)
25 * @date 28/May/2013
26 */
27 class ReducedSample : public l1menu::ISample
28 {
29 public:
30 /** @brief Load from a file in protobuf format. */
31 ReducedSample( const std::string& filename );
32 ReducedSample( const l1menu::FullSample& originalSample, const l1menu::TriggerMenu& triggerMenu );
33 ReducedSample( const l1menu::TriggerMenu& triggerMenu );
34 virtual ~ReducedSample();
35
36 void addSample( const l1menu::FullSample& originalSample );
37
38 /** @brief Save to a file in protobuf format (protobuf in src/protobuf/l1menu.proto). */
39 void saveToFile( const std::string& filename ) const;
40
41 const l1menu::TriggerMenu& getTriggerMenu() const;
42 bool containsTrigger( const l1menu::ITrigger& trigger, bool allowOlderVersion=false ) const;
43 const std::map<std::string,ReducedEvent::ParameterID> getTriggerParameterIdentifiers( const l1menu::ITrigger& trigger, bool allowOlderVersion=false ) const;
44
45 //
46 // Implementations required for the ISample interface
47 //
48 virtual size_t numberOfEvents() const;
49 virtual const l1menu::IEvent& getEvent( size_t eventNumber ) const;
50 virtual std::unique_ptr<l1menu::ICachedTrigger> createCachedTrigger( const l1menu::ITrigger& trigger ) const;
51 virtual float eventRate() const;
52 virtual void setEventRate( float rate );
53 virtual float sumOfWeights() const;
54 virtual std::unique_ptr<const l1menu::IMenuRate> rate( const l1menu::TriggerMenu& menu ) const;
55
56 private:
57 std::unique_ptr<class ReducedSamplePrivateMembers> pImple_;
58 }; // end of class ReducedSample
59
60 } // end of namespace l1menu
61
62 #endif