Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-03 04:17:41

0001 #ifndef DataFormats_L1Trigger_P2GTAlgoBlock_h
0002 #define DataFormats_L1Trigger_P2GTAlgoBlock_h
0003 
0004 #include "P2GTCandidate.h"
0005 
0006 #include <map>
0007 #include <string>
0008 
0009 namespace l1t {
0010 
0011   class P2GTAlgoBlock;
0012   typedef std::map<std::string, P2GTAlgoBlock> P2GTAlgoBlockMap;
0013 
0014   class P2GTAlgoBlock {
0015   public:
0016     P2GTAlgoBlock()
0017         : decisionBeforeBxMaskAndPrescale_(false),
0018           decisionBeforePrescale_(false),
0019           decisionFinal_(false),
0020           decisionFinalPreview_(false),
0021           isVeto_(false),
0022           triggerTypes_(0),
0023           trigObjects_() {}
0024 
0025     P2GTAlgoBlock(bool decisionBeforeBxMaskAndPrescale,
0026                   bool decisionBeforePrescale,
0027                   bool decisionFinal,
0028                   bool decisionFinalPreview,
0029                   bool isVeto,
0030                   int triggerTypes,
0031                   P2GTCandidateVectorRef trigObjects)
0032         : decisionBeforeBxMaskAndPrescale_(decisionBeforeBxMaskAndPrescale),
0033           decisionBeforePrescale_(decisionBeforePrescale),
0034           decisionFinal_(decisionFinal),
0035           decisionFinalPreview_(decisionFinalPreview),
0036           isVeto_(isVeto),
0037           triggerTypes_(triggerTypes),
0038           trigObjects_(std::move(trigObjects)) {}
0039 
0040     bool decisionBeforeBxMaskAndPrescale() const { return decisionBeforeBxMaskAndPrescale_; }
0041     bool decisionBeforePrescale() const { return decisionBeforePrescale_; }
0042     bool decisionFinal() const { return decisionFinal_; }
0043     bool decisionFinalPreview() const { return decisionFinalPreview_; }
0044     bool isVeto() const { return isVeto_; }
0045     int triggerTypes() const { return triggerTypes_; }
0046     const P2GTCandidateVectorRef& trigObjects() const { return trigObjects_; }
0047 
0048   private:
0049     const bool decisionBeforeBxMaskAndPrescale_;
0050     const bool decisionBeforePrescale_;
0051     const bool decisionFinal_;
0052     const bool decisionFinalPreview_;
0053     const bool isVeto_;
0054     const int triggerTypes_;
0055     const P2GTCandidateVectorRef trigObjects_;
0056   };
0057 
0058 }  // namespace l1t
0059 
0060 #endif  // DataFormats_L1Trigger_P2GTAlgoBlock_h