Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-16 02:43:00

0001 #ifndef L1Trigger_L1TGlobal_AXOL1TLCondition_h
0002 #define L1Trigger_L1TGlobal_AXOL1TLCondition_h
0003 
0004 /**
0005  * \class AXOL1TLCondition
0006  *
0007  * Description: evaluation of a CondAXOL1TL condition.
0008  */
0009 
0010 // system include files
0011 #include <iosfwd>
0012 #include <string>
0013 
0014 // user include files
0015 //   base classes
0016 #include "L1Trigger/L1TGlobal/interface/ConditionEvaluation.h"
0017 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0018 
0019 // forward declarations
0020 class GlobalCondition;
0021 class AXOL1TLTemplate;
0022 
0023 namespace l1t {
0024 
0025   class L1Candidate;
0026   class GlobalBoard;
0027 
0028   // class declaration
0029   class AXOL1TLCondition : public ConditionEvaluation {
0030   public:
0031     /// constructors
0032     ///     default
0033     AXOL1TLCondition();
0034 
0035     ///     from base template condition (from event setup usually)
0036     AXOL1TLCondition(const GlobalCondition*, const GlobalBoard*);
0037 
0038     // copy constructor
0039     AXOL1TLCondition(const AXOL1TLCondition&);
0040     // destructor
0041     ~AXOL1TLCondition() override;
0042 
0043     // assign operator
0044     AXOL1TLCondition& operator=(const AXOL1TLCondition&);
0045 
0046     /// the core function to check if the condition matches
0047     const bool evaluateCondition(const int bxEval) const override;
0048 
0049     /// print condition
0050     void print(std::ostream& myCout) const override;
0051 
0052     ///   get / set the pointer to a Condition
0053     inline const AXOL1TLTemplate* gtAXOL1TLTemplate() const { return m_gtAXOL1TLTemplate; }
0054 
0055     void setGtAXOL1TLTemplate(const AXOL1TLTemplate*);
0056 
0057     ///   get / set the pointer to GTL
0058     inline const GlobalBoard* gtGTB() const { return m_gtGTB; }
0059 
0060     void setuGtB(const GlobalBoard*);
0061 
0062     /// get/set score value
0063     void setScore(const float scoreval) const;
0064 
0065     inline float getScore() const { return m_savedscore; }
0066 
0067   private:
0068     /// copy function for copy constructor and operator=
0069     void copy(const AXOL1TLCondition& cp);
0070 
0071     /// pointer to a AXOL1TLTemplate
0072     const AXOL1TLTemplate* m_gtAXOL1TLTemplate;
0073 
0074     /// pointer to uGt GlobalBoard, to be able to get the trigger objects
0075     const GlobalBoard* m_gtGTB;
0076 
0077     ///axo score for possible score saving
0078     mutable float m_savedscore;
0079   };
0080 
0081 }  // namespace l1t
0082 #endif