Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:43

0001 #ifndef Analysis_Triggers_Trigger_Base_H
0002 #define Analysis_Triggers_Trigger_Base_H
0003 
0004 #include "AddOns/Analysis/Main/Analysis_Object.H"
0005 
0006 #include "ATOOLS/Phys/Particle_List.H"
0007 
0008 namespace ANALYSIS {
0009 
0010   class Trigger_Base: public Analysis_Object {
0011   protected:
0012 
0013     std::string m_inlist, m_outlist;
0014 
0015   public:
0016 
0017     Trigger_Base(const std::string &inlist,const std::string &outlist);
0018 
0019     virtual void Evaluate(const ATOOLS::Particle_List &inlist,
0020               ATOOLS::Particle_List &outlist,
0021               double weight, double ncount) = 0;
0022 
0023     void Evaluate(const ATOOLS::Blob_List &bl, 
0024           double weight, double ncount);
0025 
0026   };// end of class Trigger_Base
0027 
0028   class Two_List_Trigger_Base: public Analysis_Object {
0029   protected:
0030 
0031     std::string m_inlist, m_reflist, m_outlist;
0032 
0033   public:
0034     
0035     Two_List_Trigger_Base(const std::string &inlist,
0036               const std::string &reflist,
0037               const std::string &outlist);
0038 
0039     virtual void Evaluate(const ATOOLS::Particle_List &inlist,
0040               const ATOOLS::Particle_List &reflist,
0041               ATOOLS::Particle_List &outlist,
0042               double weight, double ncount) = 0;
0043 
0044     void Evaluate(const ATOOLS::Blob_List &bl, 
0045           double weight, double ncount);
0046 
0047   };// end of class Two_List_Trigger_Base
0048 
0049   class N_List_Trigger_Base: public Analysis_Object {
0050   protected:
0051 
0052     std::vector<std::string> m_inlists;
0053 
0054     std::string m_outlist;
0055 
0056   public:
0057     
0058     N_List_Trigger_Base(const std::vector<std::string> &inlists,
0059             const std::string &outlist);
0060 
0061     virtual void Evaluate
0062     (const std::vector<const ATOOLS::Particle_List*> &inlists,
0063      ATOOLS::Particle_List &outlist,double weight, double ncount) = 0;
0064 
0065     void Evaluate(const ATOOLS::Blob_List &bl, 
0066           double weight, double ncount);
0067 
0068   };// end of class N_List_Trigger_Base
0069 
0070 }// end of namespace ANALYSIS
0071 
0072 #endif