CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GlobalAlgBlk.h
Go to the documentation of this file.
1 #ifndef DataFormats_L1TGlobal_GlobalAlgBlk_h
2 #define DataFormats_L1TGlobal_GlobalAlgBlk_h
3 
18 // system include files
19 #include <vector>
20 #include <iostream>
21 #include <iomanip>
22 
23 // user include files
26 //#include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetup.h"
28 
29 // forward declarations
30 
33 
38 
39 // class interface
40 
41 class GlobalAlgBlk {
42 public:
44  GlobalAlgBlk(); // empty constructor, all members set to zero;
45 
46  GlobalAlgBlk(int orbitNr, int bxNr, int bxInEvent);
47 
49  virtual ~GlobalAlgBlk();
50 
51 public:
52  static constexpr unsigned int maxPhysicsTriggers = 512;
53 
55  void setL1MenuUUID(int uuid) { m_orbitNr = uuid; }
56  void setL1FirmwareUUID(int fuuid) { m_bxNr = fuuid; }
57  void setbxInEventNr(int bxNr) { m_bxInEvent = bxNr; }
58  void setFinalORVeto(bool fOR) { m_finalORVeto = fOR; }
59  void setFinalORPreVeto(bool fOR) { m_finalORPreVeto = fOR; }
60  void setFinalOR(bool fOR) { m_finalOR = fOR; }
61  void setPreScColumn(int psC) { m_preScColumn = psC; }
62 
64  inline const int getL1MenuUUID() const { return m_orbitNr; }
65  inline const int getL1FirmwareUUID() const { return m_bxNr; }
66  inline const int getbxInEventNr() const { return m_bxInEvent; }
67  inline const bool getFinalOR() const { return m_finalOR; }
68  inline const bool getFinalORPreVeto() const { return m_finalORPreVeto; };
69  inline const bool getFinalORVeto() const { return m_finalORVeto; }
70  inline const int getPreScColumn() const { return m_preScColumn; }
71 
75 
77  void setAlgoDecisionInitial(unsigned int bit, bool val);
78  void setAlgoDecisionInterm(unsigned int bit, bool val);
79  void setAlgoDecisionFinal(unsigned int bit, bool val);
80 
82  std::vector<bool> const& getAlgoDecisionInitial() const { return m_algoDecisionInitial; }
83  std::vector<bool> const& getAlgoDecisionInterm() const { return m_algoDecisionPreScaled; }
84  std::vector<bool> const& getAlgoDecisionFinal() const { return m_algoDecisionFinal; }
85  bool getAlgoDecisionInitial(unsigned int bit) const;
86  bool getAlgoDecisionInterm(unsigned int bit) const;
87  bool getAlgoDecisionFinal(unsigned int bit) const;
88 
90  void reset();
91 
92  // compare the content of this GlobalAlgBlk with another one
93  virtual bool operator==(const GlobalAlgBlk& rhs) const;
94  virtual inline bool operator!=(const GlobalAlgBlk& rhs) const { return !(operator==(rhs)); };
95 
97  void print(std::ostream& myCout) const;
98 
99 private:
100  // where noted member data has been re-interpreted, to keep persistant data the same, as these features were added late in release cycle.
101 
104 
106  int m_bxNr;
107 
110 
111  // finalOR
112  bool m_finalOR;
115 
116  //Prescale Column
118 
119  std::vector<bool> m_algoDecisionInitial;
120  std::vector<bool> m_algoDecisionPreScaled; // -> Interm
121  std::vector<bool> m_algoDecisionFinal;
122 };
123 
124 #endif /*DataFormats_L1TGlobal_GlobalAlgBlk_h*/
const int getL1MenuUUID() const
get simple members
Definition: GlobalAlgBlk.h:64
void setL1MenuUUID(int uuid)
set simple members
Definition: GlobalAlgBlk.h:55
const int getbxInEventNr() const
Definition: GlobalAlgBlk.h:66
std::vector< bool > const & getAlgoDecisionInitial() const
Get decision bits.
Definition: GlobalAlgBlk.h:82
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:119
void copyIntermToFinal()
Definition: GlobalAlgBlk.h:74
void setFinalORPreVeto(bool fOR)
Definition: GlobalAlgBlk.h:59
std::vector< bool > const & getAlgoDecisionFinal() const
Definition: GlobalAlgBlk.h:84
void setAlgoDecisionInitial(unsigned int bit, bool val)
Set decision bits.
Definition: GlobalAlgBlk.cc:73
void setbxInEventNr(int bxNr)
Definition: GlobalAlgBlk.h:57
GlobalAlgBlk()
constructors
Definition: GlobalAlgBlk.cc:46
bool m_finalORPreVeto
Definition: GlobalAlgBlk.h:113
BXVector< GlobalAlgBlk > GlobalAlgBlkBxCollection
Definition: GlobalAlgBlk.h:31
void copyInitialToInterm()
Copy vectors words.
Definition: GlobalAlgBlk.h:73
int m_bxNr
bunch cross number of the actual bx -&gt; L1FirmwareUUID
Definition: GlobalAlgBlk.h:106
const bool getFinalORVeto() const
Definition: GlobalAlgBlk.h:69
const bool getFinalORPreVeto() const
Definition: GlobalAlgBlk.h:68
const int getL1FirmwareUUID() const
Definition: GlobalAlgBlk.h:65
l1t::ObjectRef< GlobalAlgBlk > GlobalAlgBlkRef
Definition: GlobalAlgBlk.h:34
const bool getFinalOR() const
Definition: GlobalAlgBlk.h:67
void print(std::ostream &myCout) const
pretty print the content of a GlobalAlgBlk
void reset()
reset the content of a GlobalAlgBlk
const int getPreScColumn() const
Definition: GlobalAlgBlk.h:70
virtual ~GlobalAlgBlk()
destructor
Definition: GlobalAlgBlk.cc:68
l1t::ObjectRefPair< GlobalAlgBlk > GlobalAlgBlkRefPair
Definition: GlobalAlgBlk.h:36
void setAlgoDecisionInterm(unsigned int bit, bool val)
Definition: GlobalAlgBlk.cc:84
void setFinalOR(bool fOR)
Definition: GlobalAlgBlk.h:60
std::pair< edm::Ref< BXVector< T >>, edm::Ref< BXVector< T >>> ObjectRefPair
l1t::ObjectRefPairBxCollection< GlobalAlgBlk > GlobalAlgBlkRefPairBxCollection
Definition: GlobalAlgBlk.h:37
void setFinalORVeto(bool fOR)
Definition: GlobalAlgBlk.h:58
int m_orbitNr
orbit number -&gt; L1MenuUUID
Definition: GlobalAlgBlk.h:103
virtual bool operator==(const GlobalAlgBlk &rhs) const
void setL1FirmwareUUID(int fuuid)
Definition: GlobalAlgBlk.h:56
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:121
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:109
static constexpr unsigned int maxPhysicsTriggers
Definition: GlobalAlgBlk.h:52
std::vector< bool > const & getAlgoDecisionInterm() const
Definition: GlobalAlgBlk.h:83
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:120
void setPreScColumn(int psC)
Definition: GlobalAlgBlk.h:61
virtual bool operator!=(const GlobalAlgBlk &rhs) const
Definition: GlobalAlgBlk.h:94
l1t::ObjectRefBxCollection< GlobalAlgBlk > GlobalAlgBlkRefBxCollection
Definition: GlobalAlgBlk.h:35
bool m_finalORVeto
Definition: GlobalAlgBlk.h:114
void setAlgoDecisionFinal(unsigned int bit, bool val)
Definition: GlobalAlgBlk.cc:94