BeAnalysis.h 2.99 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/*
 * BeAnalysis.h
 *
 *  Created on: Jul 19, 2017
 *      Author: vratik
 */

#ifndef BE_BEANALYSIS_H_
#define BE_BEANALYSIS_H_

#include <iostream>

//#include <TObject.h>
#include "TChain.h"
15
#include "TCut.h"
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

using std::cout;
using std::endl;

class BeAnalysis {
public:
	BeAnalysis();
	virtual ~BeAnalysis();
	ClassDef(BeAnalysis, 1);


	void OpenSimChains();
	void OpenExpChain();

	TChain* GetExpChain() {return che;};
	TChain* GetSimChain(Int_t i) {return chs[i];};
32 33 34 35 36 37 38 39 40 41 42 43 44
	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);
	void SetCMAngularCuts();
	void SetRangeProportion(Float_t rangeProportion = 1.1, Bool_t autoRange = 1);

	void SetNoExpEvents();
	void SetNoSimEvents();
	void SetRatiosGStoEX();

	void Spectra();
45 46 47 48 49
//
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
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

	Int_t kMinAngle;
	Int_t kMaxAngle;

	TCut cAngles;
	TCut crAngles;

	Bool_t kChains[6];

	Bool_t kAutoRange;
	Float_t kRangeProportion;

	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];

	//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;

154 155 156
};

#endif /* BE_BEANALYSIS_H_ */