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 };
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 };
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 };
0069
0070 }
0071
0072 #endif