/* * 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(); 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); void SetCuts(); 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 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 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 eEventsAl0; // Long64_t eEventsNoAl0; // Long64_t eEventsAl180; // Long64_t eEventsNoAl180; // Long64_t eEventsAl90; // Long64_t eEventsNoAl90; Long64_t eEvents[6]; Long64_t sMaxEvents; Long64_t sEventsAl0; Long64_t sEventsNoAl0; Long64_t sEventsAl180; Long64_t sEventsNoAl180; Long64_t sEventsAl90; Long64_t sEventsNoAl90; Long64_t sEvents[6]; TCut sRatioAl0; TCut sRatioNoAl0; TCut sRatioAl180; TCut sRatioNoAl180; TCut sRatioAl90; TCut sRatioNoAl90; 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 cBe0_14 = "fBeIM>0 && fBeIM<1.6"; // TCut cBe0_14 = "fBeIM>0 && fBeIM<1.20"; TCut cBe14_19; TCut cBe19_25; TCut cBe25_31; TCut cBe31_37; TCut cBeE[5]; TCut cEpsilonT; // TCut cEpsilonT = "fTpp/fBeIM<1."; // TCut cEpsilonY = "fTap/fBeIM<0.5"; TCut cEpsilonY; //raw files //energy cuts TCut crBe20; TCut crBe3; TCut crBeWork; TCut crBe0_14; // TCut crBe0_14 = "f6BeIM>0 && f6BeIM<1.6"; // TCut crBe0_14 = "f6BeIM>0.5 && f6BeIM<1.20"; TCut crBe14_19; TCut crBe19_25; TCut crBe25_31; TCut crBe31_37; TCut crBeE[5]; //angular cuts // TCut crEpsilonT = "fTpp/f6BeIM>0.8"; TCut crEpsilonT; // TCut crEpsilonT = "fTpp/f6BeIM<1."; // TCut crEpsilonY = "fTap/f6BeIM<0.5"; TCut crEpsilonY; //simulation input TCut ciBe0_14; // TCut ciBe0_14 = "E_IM>0 && E_IM<1.6"; // TCut ciBe0_14 = "E_IM>0.5 && E_IM<1.20"; TCut ciBe14_19; TCut ciBe19_25; TCut ciBe25_31; TCut ciBe31_37; TCut ciBeE[5]; TCut ciEpsilon; // TCut ciEpsilon = "sTpp/E_IM<1."; // TCut ciEpsilonY = "sTap/E_IM<0.5"; TCut ciEpsilonY; TCut cQ; TCut cProtons; // TCut cProtons = "fP1Lab.fE-938.272<34 && fP2Lab.fE-938.272<34 && fP1Lab.fE-938.272>1 && fP2Lab.fE-938.272>1"; 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); }; #endif /* BE_BEANALYSIS_H_ */