MarlinTPC  1.2.0
XrayLikelihoodProcessor.h
1 #ifndef XrayLikelihoodProcessor_h
2 #define XrayLikelihoodProcessor_h 1
3 
4 #include "GridPixXrayObject.h"
5 #include "XrayGeometryService.h"
6 
7 //c++
8 #include <string>
9 #include <vector>
10 #include <sstream>
11 #include <limits>
12 
13 //lcio
14 #include <lcio.h>
15 #include <EVENT/LCCollection.h>
16 #include <IMPL/LCCollectionVec.h>
17 #include <EVENT/LCRelation.h>
18 #include <IMPL/LCRelationImpl.h>
19 #include <EVENT/TrackerHit.h>
20 
21 //marlin
22 #include <marlin/Processor.h>
23 #include <marlin/Global.h>
24 
25 //root
26 #include "TH1D.h"
27 #include <TROOT.h>
28 #include <TFile.h>
29 
30 // Aida
31 #include <AIDA/AIDA.h>
32 #include <marlin/AIDAProcessor.h>
33 
34 namespace marlintpc{
35 
36  class XrayLikelihoodProcessor;
37 
38  class XrayLikelihoodProcessor : public marlin::Processor{
39 
40  public:
41 
42  virtual Processor* newProcessor() {return new XrayLikelihoodProcessor;}
43 
45 
47 
48  int energyBin( double energy );
49 
50  double logLikelihood(TH1D* histogram, double value);
51 
52  virtual void init();
53 
54  virtual void processRunHeader( lcio::LCRunHeader* run );
55 
56  virtual void processEvent( LCEvent * evt );
57 
58  virtual void end();
59 
60  protected:
61 
62  std::string _inputCollectionXray;
63 
64  std::string _outputXrays;
65 
66  std::string _outputCollection;
67 
68  int _outputIsTransient;
69 
70  std::vector<float> _energyBinsLowerEdges;
71  std::vector<std::string> _referenceROOTFilesXray;
72  std::vector<TFile*> _referenceTFilesXray;
73  std::vector<float> _scaleFactors;
74 
75  int _numberEnergyBins;
76 
77  std::vector<TH1D*> _histogramsLikelihood;
78 
79  XrayGeometryService* _xrayGeoService;
80 
81  std::vector<TH1D*> _xrayExcentricity;
82 
83  std::vector<TH1D*> _xrayKurtosisL;
84 
85  std::vector<TH1D*> _xrayLength;
86 
87  std::vector<TH1D*> _xraySkewnessL;
88 
89  std::vector<TH1D*> _xrayRmsT;
90 
91  std::vector<TH1D*> _xrayLengthDivByRmsT;
92 
93  std::vector<TH1D*> _xrayFractionWithinRmsY;
94 
95  };//class XrayLikelihoodProcessor
96 
97 }//namespace marlintpc
98 
99 #endif
Definition: XrayGeometryService.h:22
Definition: XrayLikelihoodProcessor.h:38