All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
CLICDstChecker.h
Go to the documentation of this file.
1 #ifndef CLICDSTCHECKER_H
2 #define CLICDSTCHECKER 1
3 
4 #include <EVENT/MCParticle.h>
5 #include <EVENT/ReconstructedParticle.h>
6 #include <UTIL/LCRelationNavigator.h>
7 #include <algorithm>
8 #include <map>
9 #include <set>
10 #include <string>
11 #include "PfoUtilities.h"
12 #include "lcio.h"
13 #include "marlin/Processor.h"
14 
15 using namespace lcio;
16 using namespace marlin;
17 
18 /** === CLICDstChecker Processor === <br>
19  * Processor to check DST Pfos
20  */
21 
22 class CLICDstChecker : public Processor {
23 public:
24  virtual Processor* newProcessor() { return new CLICDstChecker; }
26  CLICDstChecker(const CLICDstChecker&) = delete;
27  CLICDstChecker& operator=(const CLICDstChecker&) = delete;
28  virtual void init();
29  virtual void processRunHeader(LCRunHeader* run);
30  virtual void processEvent(LCEvent* evt);
31  virtual void check(LCEvent* evt);
32  virtual void end();
33 
34 protected:
35  void CleanUp();
36 
37  int m_nRun = -1;
38  int m_nEvt = -1;
39 
40  int m_debug = 0;
41  std::string m_inputPfoCollection{}; ///< Input PFO collection name
42  std::string m_inputPfoToMcRelationCollection{};
43  std::string m_inputMcParticleCollection{};
44  int m_monitoring = 0; ///< Whether to display monitoring information
45  int m_showBackground = 0; ///< Whether to display background information
46 
47 private:
48  std::vector<ReconstructedParticle*> m_pfoVector{};
49  std::set<MCParticle*> m_mcSet{};
50  LCRelationNavigator* m_pfoToMcNavigator = NULL;
51 };
52 
53 #endif
=== CLICDstChecker Processor === Processor to check DST Pfos
virtual Processor * newProcessor()