All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Fox.h
Go to the documentation of this file.
1 #ifndef Fox_h
2 #define Fox_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <vector>
8 
9 using namespace lcio ;
10 using namespace marlin ;
11 
12 
13 
14 /** Processor calculates Fox-Wolfram moments.
15  * input parameters are name of the ReconstructedParticle collection
16  * and arbitrary number of moments entered just as integers
17  * for example CalculateFoxWolframMoments 1 3 6 , moment of 0-th
18  * order is calculated by default (for later normalisation)
19  * so you don't need to enter this one.
20  * Output is stored as a parameter of te ReconstructedParticle collection
21  * with the name FoxWolfram_moment(n) where n is actual number.
22  * @author P.Krstonosic , DESY
23  */
24 class Fox: public Processor {
25 
26  public:
27 
28  virtual Processor* newProcessor() { return new Fox ; }
29 
30 
31  Fox() ;
32 
33  /** Called at the begin of the job before anything is read.
34  * Use to initialize the processor, e.g. book histograms.
35  */
36  virtual void init() ;
37 
38  /** Called for every run.
39  */
40  virtual void processRunHeader( LCRunHeader* run ) ;
41 
42  /** Called for every event - the working horse.
43  */
44  virtual void processEvent( LCEvent * evt ) ;
45 
46 
47  virtual void check( LCEvent * evt ) ;
48 
49 
50  /** Called after data processing for clean up.
51  */
52  virtual void end() ;
53 
54 
55  protected:
56 
57  /** Input collection name.
58  */
59  std::string _colName{};
60  /** Vector of moments orders to be calculated
61  */
62  std::vector<int> _momentsToCalculate{};
63  int _nRun{};
64  int _nEvt{};
65 } ;
66 
67 #endif
68 
69 
70 
virtual Processor * newProcessor()
Definition: Fox.h:28
Processor calculates Fox-Wolfram moments.
Definition: Fox.h:24