#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 "hparticlecandfillerpar.h" #include "TCanvas.h" #include "TH2D.h" #include "TProfile2D.h" #include #include using namespace std; class HRich700DigiPar; class HRich700DigiParCreator : public HReconstructor { private: HCategory* fCatKine; HCategory* fCatRichHit; HRich700DigiPar* fDigiPar; HRich700RingFinderPar* fRingFinderPar; HParticleCandFillerPar* fCandFillerPar; Int_t fEventNum; // IMPORTANT!!! // the values should correspond to simulated Z verteces // see run_ascii.C macro static const Int_t knZ = 4; Double_t kZ[knZ]; static const Int_t knPmt = 600; static const Int_t knXY = 110; //220 // -660,660 [6mm] string fOutputHistFilePath; string fOutputFilePath; HRich700HistManager* fHM; void processEvent(); string createStringPhiThetaPmtId(); string createStringPhiThetaXY(); string createStringThetaTransParamsPoly(); void createOutputFile(); void convertProfile(const string& profileName, const string& zTitle); void convertProfileAll(); void drawZDiffFromRef( TCanvas* c, const string& histNameTemplate, Int_t indMin, Int_t indMax, Int_t refInd, Double_t zMin, Double_t zMax ); void initHist(); void drawHist(); Bool_t isPrimaryElectron(HGeantKine* kine); void initZVertex(); Int_t getZIndex(double z); string getStringByZIndex(Int_t zInd); void drawPmts(); void testZInterpolationAll(); void testZInterpolation(const string& hTemplate, const string& hResTemplate, const string& cName, const vector& indZ1Vec); public: HRich700DigiParCreator(); ~HRich700DigiParCreator(); Bool_t init(); Bool_t reinit(); Int_t execute(); Bool_t finalize(); void setOutputHistFilePath(const string& filePath) {fOutputHistFilePath = filePath;} void setOutputFilePath(const string& outputFilePath) { fOutputFilePath = outputFilePath; } void drawFromFile(const string& fileName, const string& outputDir); ClassDef(HRich700DigiParCreator, 0) }; #endif // HRICH700DIGIPARCREATOR_H