All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
CreatePDFProcessor.hh
Go to the documentation of this file.
1 #ifndef CreatePDFProcessor_hh
2 #define CreatePDFProcessor_hh 1
3 
4 #include <string>
5 #include <vector>
6 #include <marlin/Processor.h>
7 
8 #include <EVENT/LCCollection.h>
9 
10 #include "LikelihoodPID.hh"
11 
12 #include "TFile.h"
13 #include "TH1.h"
14 
15 using namespace lcio ;
16 using namespace marlin ;
17 
18 //class LikelihoodPID;
19 
20 class CreatePDFProcessor : public Processor{
21 public:
22  virtual Processor* newProcessor() { return new CreatePDFProcessor ; }
24  virtual void init() ;
25  virtual void processRunHeader( LCRunHeader* run);
26  virtual void processEvent( LCEvent * evt );
27  virtual void check( LCEvent * evt );
28  virtual void end();
29 
30 private:
31  CreatePDFProcessor(const CreatePDFProcessor&) = delete;
32  CreatePDFProcessor& operator=(const CreatePDFProcessor&) = delete;
33  void CalculateDeltaPosition(float charge, TVector3 &p, const float* caylpos, float* delpos);
34 
35  std::string _description{};
36  std::string _PfoCollection{};
37  std::string _LinkCollection{};
38 
39  LCCollection* _PFOCol{};
40  LCCollection* _LinkCol{};
41 
42  std::vector<float> _dEdxParamsElectron{};
43  std::vector<float> _dEdxParamsMuon{};
44  std::vector<float> _dEdxParamsPion{};
45  std::vector<float> _dEdxParamsKaon{};
46  std::vector<float> _dEdxParamsProton{};
47 
48  float _dEdxNormalization{}, _dEdxErrorFactor{}, _bfield{};
49 
50  LikelihoodPID *_myPID{};
51  TFile* _fpdf{};
52  TH1F* pidvariable[6][21]{};
53  std::string _filename{};
54 
55  std::string itos(int i)
56  {
57  std::stringstream s;
58  s << i;
59  return s.str();
60  }
61 };
62 
63 #endif
std::string itos(int i)
static const float s
virtual Processor * newProcessor()