/* * BeAnalysis.h * * Created on: Jul 19, 2017 * Author: vratik */ #ifndef BE_BEANALYSIS_H_ #define BE_BEANALYSIS_H_ #include //#include #include "TChain.h" #include "TCut.h" #include "TCanvas.h" using std::cout; using std::endl; class BeAnalysis { public: BeAnalysis(); virtual ~BeAnalysis(); ClassDef(BeAnalysis, 1); void SetExpChain(TString files, Int_t minFnumber, Int_t maxFnumber); void SetSimChains(TString chainAl0name, TString chainNoAl0name, TString chainAl180name, TString chainNoAl180name, TString chainAl90name, TString chainNoAl90name); void SetInputChains(TString inputAl0name, TString inputNoAl0name, TString inputAl180name, TString inputNoAl180name, TString inputAl90name, TString inputNoAl90name); void SetNoSimFiles(Int_t *minFnumber = 0, Int_t *maxFnumber = 0); void OpenSimChains(); void OpenExpChain(); void SetNoBinsSpectra(Int_t noBins = 100) {noBinsSpectra = noBins;}; TChain* GetExpChain() {return che;}; TChain* GetSimChain(Int_t i) {return chs[i];}; void SetChainsToDraw(Bool_t ch0 = 1, Bool_t ch1 = 1, Bool_t ch2 = 1, Bool_t ch3 = 1, Bool_t ch4 = 1, Bool_t ch5 = 1); private: void SetCuts(); public: void SetSimCuts(TString sEt[5]/*, TString sET0 = "", TString sET1 = "", TString sET2 = "", TString sET3 = "", TString sET4 = ""*/); void SetCMAngularRange(Int_t minAngle, Int_t maxAngle); private: void SetCMAngularCuts(); public: void SetRangeProportion(Float_t rangeProportion = 1.1, Bool_t autoRange = 1); void SetNoExpEvents(Long64_t *noExpEvents = 0); void SetNoSimEvents(Long64_t *noSimEvents = 0); void SetRatiosGStoEX(TString sRatioAl0, TString sRatioNoAl0, TString sRatioAl180, TString sRatioNoAl180, TString sRatioAl90, TString sRatioNoAl90); // void ExpEventsECuts(Long64_t **noExpEvents = 0); // void ExpEventsECuts(Int_t (&noExpEvents)[5][6]); // void ExpEventsECuts(Int_t (*noExpEvents)[5][6]); void ExpEventsECuts(Long64_t noExpEvents[5][6] = 0); void SimEventsECuts(Long64_t noSimEvents[5][6] = 0); void EpsilonTRange(); void SetSpectra(Bool_t kSpectra = 1) {spectra = kSpectra;}; void SetEpsilonTintervals(Bool_t intervals[6] = 0); void SetCosThetaTkIntervals(Bool_t intervals[6] = 0); void SetEpsilonYintervals(Bool_t intervals[6] = 0); void SetCosThetaYkIntervals(Bool_t intervals[6] = 0); void SetThetaATintervals(Bool_t intervals[6] = 0); void Spectra(); void EpsilonT(); void CosThetaTk(); void EpsilonY(); void CosThetaYk(); void ThetaAT(); void SetFigures(TString figPath = "figures/", TString figFormat = ".eps", Bool_t kSave = 1); // //private: TChain *che; //chain with experimental trees TChain *chs[6]; //array of chains with simulation trees TTree *ti[6]; //array of chains with simulation input private: Int_t lowExpFile; Int_t upExpFile; TString expFiles; TString simFiles[6]; TString inputFiles[6]; Int_t lowSimFile[6]; Int_t upSimFile[6]; Int_t noBinsSpectra; Int_t kMinAngle; Int_t kMaxAngle; TCut cAngles; TCut crAngles; Bool_t kChains[6]; Int_t noIntervals; Bool_t *epsilonT; //! Bool_t *cosThetaT; //! Bool_t *epsilonY; //! Bool_t *cosThetaY; //! Bool_t *thetaAT; //! Bool_t kAutoRange; Float_t kRangeProportion; Bool_t kVerbose; Float_t kRangeProportionIn; Long64_t eMaxEvents; Long64_t eEvents[6]; Long64_t sMaxEvents; Long64_t sEvents[6]; TCut sRatio[6]; Long64_t eEventsECuts[5][6]; //! Long64_t sEventsECuts[5][6]; //! Double_t eTRange[5][6]; //! //cuts // TCut cBe20; // TCut cBe3; TCut cBeWork; // TCut cBe0_14; // TCut cBe14_19; // TCut cBe19_25; // TCut cBe25_31; // TCut cBe31_37; TCut cBeE[5]; TCut cEpsilonT; TCut cEpsilonY; //raw files //energy cuts // TCut crBe20; // TCut crBe3; TCut crBeWork; // TCut crBe0_14; // TCut crBe14_19; // TCut crBe19_25; // TCut crBe25_31; // TCut crBe31_37; TCut crBeE[5]; //angular cuts TCut crEpsilonT; TCut crEpsilonY; //simulation input TCut ciBeE[5]; TCut ciEpsilon; TCut ciEpsilonY; TCut cQ; TCut cProtons; Bool_t spectra; //auxiliary strings TString drawCommand; TString hsName; TString heName; TString hiName; TString canvasName; TString canvasTitle; Bool_t kSaveFigures; TString figurePath; TString figureFormat; private: void SaveFigures(TCanvas *canvas, TString variable, Int_t interval); void CanvasDivision(TCanvas *c); }; #endif /* BE_BEANALYSIS_H_ */