Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AntiTrigger.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file AntiTrigger.h
1 #ifndef ANTITRIGGER_H
2 #define ANTITRIGGER_H
3 
4 //sPHENIX stuff
6 #include <fun4all/SubsysReco.h>
9 #include <phool/getClass.h>
10 
11 
12 #pragma GCC diagnostic push
13 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
14 #include <HepMC/GenEvent.h>
15 #include <HepMC/GenParticle.h>
16 #include <HepMC/IteratorRange.h>
17 #include <HepMC/SimpleVector.h>
18 #pragma GCC diagnostic pop
19 
20 #include <TDatabasePDG.h>
21 
22 #include <algorithm>
23 #include <iostream>
24 #include <map>
25 #include <string>
26 #include <vector>
27 
28 class AntiTrigger : public SubsysReco
29 {
30  public:
31  AntiTrigger();
32 
33  explicit AntiTrigger(const std::string &name);
34 
35  virtual ~AntiTrigger(){}
36 
37  int Init(PHCompositeNode *topNode);
38 
39  int process_event(PHCompositeNode *topNode);
40 
41  int End(PHCompositeNode *topNode);
42 
43  int parseParticleList();
44 
45  bool findParticle(PHCompositeNode *topNode);
46 
48 
49  void printInfo();
50 
51  //User configuration
52  void setParticleList(std::vector<std::string> particleList) { m_particleList = particleList; }
53 
54  private:
55 
58 
59  int m_counter = 0;
60 
61  std::vector<std::string> m_particleList;
62  std::vector<int> m_particleIDs;
63 };
64 
65 #endif //ANTITRIGGER_H