ROOT logo
#ifndef HRICH700DIGIPARCREATOR_H
#define HRICH700DIGIPARCREATOR_H

#include "hlocation.h"
#include "hreconstructor.h"
#include "hcategory.h"
#include "hiterator.h"
#include "hrich700histmanager.h"
#include "hgeantkine.h"
#include "hrich700histmanager.h"
#include "hrich700ringfinderpar.h"

#include "TCanvas.h"

#include <vector>
#include <string>
#include "TH1F.h"

using namespace std;

class HRich700DigiPar;

class HRich700DigiParCreator : public HReconstructor {

private:

   HCategory* fCatKine;
   HCategory* fCatRichHit;
   HRich700DigiPar* fDigiPar;
   HRich700RingFinderPar* fRingFinderPar;

   Int_t fEventNum;

   static const Int_t knPmt = 600;
   TH1F* fhPhi[knPmt];
   TH1F* fhTheta[knPmt];

   static const Int_t knXY = 220;    // -660,660  [6mm]
   TH1F* fhPhiXY[knXY][knXY];
   TH1F* fhThetaXY[knXY][knXY];

   TH2F* fhXYCounter;
   TH2F* fhXYPhiMean;
   TH2F* fhXYThetaMean;
   TH2F* fhXYPhiRms;
   TH2F* fhXYThetaRms;

   TH2F* fhXYIndCounter;
   TH2F* fhXYIndPhiMean;
   TH2F* fhXYIndThetaMean;
   TH2F* fhXYIndPhiRms;
   TH2F* fhXYIndThetaRms;

   TH2F* fhXYPhiInterpolation;
   TH2F* fhXYThetaInterpolation;

   string fOutputFilePath;
   string fOutputHistFilePath;

   HRich700HistManager* fHM;

   void processEvent();
   string createStringPhiThetaPmtId();
   string createStringPhiThetaXY();
   void createOutputFile();

   void fillInterpolatedHist();
   void writeHist();
   void initHist();
   void drawHist();

   Double_t calculateHistMean(TH1* hist, Double_t minVal, Double_t maxVal);

   Bool_t isPrimaryElectron(HGeantKine* kine);

public:
   HRich700DigiParCreator();
   ~HRich700DigiParCreator();

   Bool_t init();
   Bool_t reinit();
   Int_t  execute();
   Bool_t finalize();

   void setOutputFilePath(const string& filePath) {fOutputFilePath = filePath;}
   void setOutputHistFilePath(const string& filePath) {fOutputHistFilePath = filePath;}

   void drawFromFile(const string& fileName, const string& outputDir);

   ClassDef(HRich700DigiParCreator, 0)

};

#endif // HRICH700DIGIPARCREATOR_H
 hrich700digiparcreator.h:1
 hrich700digiparcreator.h:2
 hrich700digiparcreator.h:3
 hrich700digiparcreator.h:4
 hrich700digiparcreator.h:5
 hrich700digiparcreator.h:6
 hrich700digiparcreator.h:7
 hrich700digiparcreator.h:8
 hrich700digiparcreator.h:9
 hrich700digiparcreator.h:10
 hrich700digiparcreator.h:11
 hrich700digiparcreator.h:12
 hrich700digiparcreator.h:13
 hrich700digiparcreator.h:14
 hrich700digiparcreator.h:15
 hrich700digiparcreator.h:16
 hrich700digiparcreator.h:17
 hrich700digiparcreator.h:18
 hrich700digiparcreator.h:19
 hrich700digiparcreator.h:20
 hrich700digiparcreator.h:21
 hrich700digiparcreator.h:22
 hrich700digiparcreator.h:23
 hrich700digiparcreator.h:24
 hrich700digiparcreator.h:25
 hrich700digiparcreator.h:26
 hrich700digiparcreator.h:27
 hrich700digiparcreator.h:28
 hrich700digiparcreator.h:29
 hrich700digiparcreator.h:30
 hrich700digiparcreator.h:31
 hrich700digiparcreator.h:32
 hrich700digiparcreator.h:33
 hrich700digiparcreator.h:34
 hrich700digiparcreator.h:35
 hrich700digiparcreator.h:36
 hrich700digiparcreator.h:37
 hrich700digiparcreator.h:38
 hrich700digiparcreator.h:39
 hrich700digiparcreator.h:40
 hrich700digiparcreator.h:41
 hrich700digiparcreator.h:42
 hrich700digiparcreator.h:43
 hrich700digiparcreator.h:44
 hrich700digiparcreator.h:45
 hrich700digiparcreator.h:46
 hrich700digiparcreator.h:47
 hrich700digiparcreator.h:48
 hrich700digiparcreator.h:49
 hrich700digiparcreator.h:50
 hrich700digiparcreator.h:51
 hrich700digiparcreator.h:52
 hrich700digiparcreator.h:53
 hrich700digiparcreator.h:54
 hrich700digiparcreator.h:55
 hrich700digiparcreator.h:56
 hrich700digiparcreator.h:57
 hrich700digiparcreator.h:58
 hrich700digiparcreator.h:59
 hrich700digiparcreator.h:60
 hrich700digiparcreator.h:61
 hrich700digiparcreator.h:62
 hrich700digiparcreator.h:63
 hrich700digiparcreator.h:64
 hrich700digiparcreator.h:65
 hrich700digiparcreator.h:66
 hrich700digiparcreator.h:67
 hrich700digiparcreator.h:68
 hrich700digiparcreator.h:69
 hrich700digiparcreator.h:70
 hrich700digiparcreator.h:71
 hrich700digiparcreator.h:72
 hrich700digiparcreator.h:73
 hrich700digiparcreator.h:74
 hrich700digiparcreator.h:75
 hrich700digiparcreator.h:76
 hrich700digiparcreator.h:77
 hrich700digiparcreator.h:78
 hrich700digiparcreator.h:79
 hrich700digiparcreator.h:80
 hrich700digiparcreator.h:81
 hrich700digiparcreator.h:82
 hrich700digiparcreator.h:83
 hrich700digiparcreator.h:84
 hrich700digiparcreator.h:85
 hrich700digiparcreator.h:86
 hrich700digiparcreator.h:87
 hrich700digiparcreator.h:88
 hrich700digiparcreator.h:89
 hrich700digiparcreator.h:90
 hrich700digiparcreator.h:91
 hrich700digiparcreator.h:92
 hrich700digiparcreator.h:93
 hrich700digiparcreator.h:94