1#ifndef BMNLAMBDAANALRUN7_H
2#define BMNLAMBDAANALRUN7_H 1
37 maxMult = mult.second;
52 return make_pair(minMult, maxMult);
81 fTrigEffs(new TClonesArray(
"TriggerEfficiency")) {
128 Double_t DCA0, Double_t DCA1, Double_t DCA2, Double_t DCA12, Double_t PATH = -1, Int_t nHitsPos = 2, Int_t nHitsNeg = 2) {
146 void SetPtBins(vector <pair <Double_t, Double_t>> bins) {
151 for (
size_t iBin = 0; iBin < bins.size(); iBin++)
155 void SetYBins(vector <pair <Double_t, Double_t>> bins) {
160 for (
size_t iBin = 0; iBin < bins.size(); iBin++)
169 for (
size_t iBin = 0; iBin < bins.size(); iBin++)
176 fTrigEffData[trigger] = data;
191 return fSdeltaS_PtBinMap;
195 return fSdeltaS_YBinMap;
199 void doTargetAnal(TString target);
200 void doTargetAnal(vector <TString> targets);
203 void targetListsByCutsEstablished(set <TString>&, set <TString>&);
204 void DrawH(TH1F*, Double_t, Double_t, pair <Double_t, Double_t>, pair <Double_t, Double_t>, Int_t si = 1);
207 void doTargetAnalPath();
212 fTrigEffs =
new TClonesArray(
"TriggerEfficiency");
214 for (
auto trigger : fTrigEffData) {
215 TString trig = trigger.first;
216 TString data = trigger.second;
218 TFile*
f =
new TFile(data.Data());
219 TH1F* h = (TH1F*)
f->Get(
"Eff");
224 for (Int_t iBin = 1; iBin < h->GetNbinsX() + 1; iBin++) {
225 vector <Int_t> mults;
226 vector <Double_t> effs;
228 effs.push_back(h->GetBinContent(iBin));
229 effs.push_back(h->GetBinError(iBin));
231 TString label = (TString) h->GetXaxis()->GetBinLabel(iBin);
232 label.ReplaceAll(
")",
"").ReplaceAll(
"[",
"").ReplaceAll(
",",
"");
234 TObjArray* tx = label.Tokenize(
" ");
236 for (Int_t
i = 0;
i < tx->GetEntries();
i++)
237 mults.push_back(((TObjString*) (tx->At(
i)))->String().Atoi());
239 new ((*fTrigEffs) [fTrigEffs->GetEntriesFast()])
240 TriggerEfficiency(trig, make_pair(mults.at(0), mults.at(1)), make_pair(effs.at(0), effs.at(1)));
246 TClonesArray* fTrigEffs;
247 map <TString, TString> fTrigEffData;
250 map <Int_t, pair <Double_t, Double_t>> fSdeltaS_PtBinMap;
251 map <Int_t, pair <Double_t, Double_t>> fSdeltaS_YBinMap;
253 vector <TString> fMcList;
254 vector <TString> fDataList;
map< TString, BmnParticlePairCut * > GetTargetCutsMap()
void SetTriggerEffData(TString trigger, TString data)
void SetIsMc(Bool_t flag)
virtual ~BmnLambdaAnalRun7()
map< TString, BmnParticlePairCut * > fTargCutsMap
map< Int_t, pair< Double_t, Double_t > > GetSignalYBinMap()
void SetPathBins(vector< pair< Double_t, Double_t > > bins)
BmnLambdaAnalRun7(TString dirMc, TString dirData, TString target="")
BmnLambdaAnalRun7(TString dir)
void SetCuts(TString target, Double_t DCA0, Double_t DCA1, Double_t DCA2, Double_t DCA12, Double_t PATH=-1, Int_t nHitsPos=2, Int_t nHitsNeg=2)
map< Int_t, pair< Double_t, Double_t > > GetSignalPtBinMap()
void SetPtBins(vector< pair< Double_t, Double_t > > bins)
TClonesArray * GetFilledArray()
BmnParticlePairCut * GetCuts(TString target) const
void SetYBins(vector< pair< Double_t, Double_t > > bins)
map< Int_t, pair< Double_t, Double_t > > fPtBinMap
vector< TString > createFilelist()
map< Int_t, pair< Double_t, Double_t > > fYBinMap
map< Int_t, pair< Double_t, Double_t > > fPathBins
void SetTarget(TString t)
vector< TString > GetFileList()
void SetNHitsGemNeg(Int_t nHits)
void SetNHitsGemPos(Int_t nHits)
void SetDca12(Double_t v)
Double_t efficiencyError()
virtual ~TriggerEfficiency()
TriggerEfficiency(TString tr, pair< Int_t, Int_t > mult, pair< Double_t, Double_t > e)
pair< Int_t, Int_t > multilplicity()