kind = 9;
// return kFALSE; // One particle does not exist
- } else if( posDaughter->GetMother() != negDaughter->GetMother() || (posDaughter->GetMother() == negDaughter->GetMother() && posDaughter->GetMother() ==-1)) {
+ } else if( posDaughter->GetMother() != negDaughter->GetMother() || (posDaughter->GetMother() == negDaughter->GetMother() && posDaughter->GetMother() ==-1)) {
kind = 1;
pdgCodePos=TMath::Abs(posDaughter->GetPdgCode());
pdgCodePos=posDaughter->GetPdgCode();
pdgCodeNeg=negDaughter->GetPdgCode();
- if ( TruePhotonCandidate->GetMCParticle(fMCStack)->GetPdgCode())
- pdgCode = TruePhotonCandidate->GetMCParticle(fMCStack)->GetPdgCode();
+ if ( Photon->GetPdgCode())
+ pdgCode = Photon->GetPdgCode();
if(TMath::Abs(pdgCodePos)!=11 || TMath::Abs(pdgCodeNeg)!=11) kind = 2; // true from hadronic decays
else if ( !(pdgCodeNeg==pdgCodePos)){
if(pdgCode == 111) kind = 3; // pi0 Dalitz
#include "AliConversionAODBGHandlerRP.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
+#include "AliEventplane.h"
ClassImp(AliAnalysisTaskGammaConvV1)
fPhotonDCAList(NULL),
fMesonDCAList(NULL),
fTrueList(NULL),
- fTrueMotherRapList(NULL),
fMCList(NULL),
fHeaderNameList(NULL),
fOutputContainer(0),
fMesonCutArray(NULL),
fMesonCuts(NULL),
hESDConvGammaPt(NULL),
+ hESDConvGammaR(NULL),
+ hESDConvGammaEta(NULL),
tESDConvGammaPtDcazCat(NULL),
fPtGamma(0),
fDCAzPhoton(0),
hESDMotherBackInvMassPt(NULL),
sESDMotherBackInvMassPtZM(NULL),
hESDMotherInvMassEalpha(NULL),
+ hESDMotherPi0PtY(NULL),
+ hESDMotherEtaPtY(NULL),
+ hESDMotherPi0PtAlpha(NULL),
+ hESDMotherEtaPtAlpha(NULL),
+ hESDMotherPi0YEtaLowPtGamma(NULL),
+ hESDMotherPi0YEtaHighPtGamma(NULL),
+ hESDMotherEtaYEtaLowPtGamma(NULL),
+ hESDMotherEtaYEtaHighPtGamma(NULL),
hMCHeaders(NULL),
hMCAllGammaPt(NULL),
hMCDecayGammaPi0Pt(NULL),
hMCConvGammaPt(NULL),
hMCConvGammaR(NULL),
hMCConvGammaEta(NULL),
- hMCConvGammaRSPt(NULL),
- hMCConvGammaRSR(NULL),
- hMCConvGammaRSEta(NULL),
hMCPi0Pt(NULL),
hMCPi0WOWeightPt(NULL),
hMCEtaPt(NULL),
hESDTrueEtaWithPi0DaughterMCPt(NULL),
hESDTrueBckGGInvMassPt(NULL),
hESDTrueBckContInvMassPt(NULL),
+ hESDTruePi0PtY(NULL),
+ hESDTrueEtaPtY(NULL),
+ hESDTruePi0PtAlpha(NULL),
+ hESDTrueEtaPtAlpha(NULL),
+ hESDTruePi0YEtaLowPtGamma(NULL),
+ hESDTruePi0YEtaHighPtGamma(NULL),
+ hESDTrueEtaYEtaLowPtGamma(NULL),
+ hESDTrueEtaYEtaHighPtGamma(NULL),
hESDTrueMotherDalitzInvMassPt(NULL),
hESDTrueConvGammaPt(NULL),
hESDCombinatorialPt(NULL),
hESDTruePrimaryConvGammaPt(NULL),
hESDTruePrimaryConvGammaESDPtMCPt(NULL),
- hESDTruePrimaryConvGammaRSESDPtMCPt(NULL),
hESDTrueSecondaryConvGammaPt(NULL),
hESDTrueSecondaryConvGammaFromXFromK0sPt(NULL),
hESDTrueSecondaryConvGammaFromXFromLambdaPt(NULL),
fDCAzGammaMax(0),
iFlag(0),
iMesonMCInfo(0),
+ fEventPlaneAngle(-100),
fRandom(0),
fnGammaCandidates(0),
fUnsmearedPx(NULL),
fMoveParticleAccordingToVertex(kTRUE),
fIsHeavyIon(kFALSE),
fDoMesonAnalysis(kTRUE),
- fDoMesonQA(kFALSE),
- fDoPhotonQA(kFALSE),
+ fDoMesonQA(0),
+ fDoPhotonQA(0),
fIsFromMBHeader(kTRUE),
fIsMC(kFALSE)
{
fPhotonDCAList(NULL),
fMesonDCAList(NULL),
fTrueList(NULL),
- fTrueMotherRapList(NULL),
fMCList(NULL),
fHeaderNameList(NULL),
fOutputContainer(0),
fMesonCutArray(NULL),
fMesonCuts(NULL),
hESDConvGammaPt(NULL),
+ hESDConvGammaR(NULL),
+ hESDConvGammaEta(NULL),
tESDConvGammaPtDcazCat(NULL),
fPtGamma(0),
fDCAzPhoton(0),
hESDMotherBackInvMassPt(NULL),
sESDMotherBackInvMassPtZM(NULL),
hESDMotherInvMassEalpha(NULL),
+ hESDMotherPi0PtY(NULL),
+ hESDMotherEtaPtY(NULL),
+ hESDMotherPi0PtAlpha(NULL),
+ hESDMotherEtaPtAlpha(NULL),
+ hESDMotherPi0YEtaLowPtGamma(NULL),
+ hESDMotherPi0YEtaHighPtGamma(NULL),
+ hESDMotherEtaYEtaLowPtGamma(NULL),
+ hESDMotherEtaYEtaHighPtGamma(NULL),
hMCHeaders(NULL),
hMCAllGammaPt(NULL),
hMCDecayGammaPi0Pt(NULL),
hMCConvGammaPt(NULL),
hMCConvGammaR(NULL),
hMCConvGammaEta(NULL),
- hMCConvGammaRSPt(NULL),
- hMCConvGammaRSR(NULL),
- hMCConvGammaRSEta(NULL),
hMCPi0Pt(NULL),
hMCPi0WOWeightPt(NULL),
hMCEtaPt(NULL),
hESDTrueEtaWithPi0DaughterMCPt(NULL),
hESDTrueBckGGInvMassPt(NULL),
hESDTrueBckContInvMassPt(NULL),
+ hESDTruePi0PtY(NULL),
+ hESDTrueEtaPtY(NULL),
+ hESDTruePi0PtAlpha(NULL),
+ hESDTrueEtaPtAlpha(NULL),
+ hESDTruePi0YEtaLowPtGamma(NULL),
+ hESDTruePi0YEtaHighPtGamma(NULL),
+ hESDTrueEtaYEtaLowPtGamma(NULL),
+ hESDTrueEtaYEtaHighPtGamma(NULL),
hESDTrueMotherDalitzInvMassPt(NULL),
hESDTrueConvGammaPt(NULL),
hESDCombinatorialPt(NULL),
hESDTruePrimaryConvGammaPt(NULL),
hESDTruePrimaryConvGammaESDPtMCPt(NULL),
- hESDTruePrimaryConvGammaRSESDPtMCPt(NULL),
hESDTrueSecondaryConvGammaPt(NULL),
hESDTrueSecondaryConvGammaFromXFromK0sPt(NULL),
hESDTrueSecondaryConvGammaFromXFromLambdaPt(NULL),
fDCAzGammaMax(0),
iFlag(0),
iMesonMCInfo(0),
+ fEventPlaneAngle(-100),
fRandom(0),
fnGammaCandidates(0),
fUnsmearedPx(NULL),
fMoveParticleAccordingToVertex(kTRUE),
fIsHeavyIon(kFALSE),
fDoMesonAnalysis(kTRUE),
- fDoMesonQA(kFALSE),
- fDoPhotonQA(kFALSE),
+ fDoMesonQA(0),
+ fDoPhotonQA(0),
fIsFromMBHeader(kTRUE),
fIsMC(kFALSE)
{
hEtaShift = new TProfile*[fnCuts];
hESDConvGammaPt = new TH1F*[fnCuts];
- if (fDoPhotonQA){
+ if (fDoPhotonQA == 2){
fPhotonDCAList = new TList*[fnCuts];
tESDConvGammaPtDcazCat = new TTree*[fnCuts];
}
+ if (fDoPhotonQA > 0){
+ hESDConvGammaR = new TH1F*[fnCuts];
+ hESDConvGammaEta = new TH1F*[fnCuts];
+ }
if(fDoMesonAnalysis){
hESDMotherInvMassPt = new TH2F*[fnCuts];
hESDMotherBackInvMassPt = new TH2F*[fnCuts];
hESDMotherInvMassEalpha = new TH2F*[fnCuts];
- if (fDoMesonQA){
+ if (fDoMesonQA == 2){
fMesonDCAList = new TList*[fnCuts];
tESDMesonsInvMassPtDcazMinDcazMaxFlag = new TTree*[fnCuts];
}
+ if (fDoMesonQA > 0){
+ hESDMotherPi0PtY = new TH2F*[fnCuts];
+ hESDMotherEtaPtY = new TH2F*[fnCuts];
+ hESDMotherPi0PtAlpha = new TH2F*[fnCuts];
+ hESDMotherEtaPtAlpha = new TH2F*[fnCuts];
+ hESDMotherPi0YEtaLowPtGamma = new TH2F*[fnCuts];
+ hESDMotherPi0YEtaHighPtGamma = new TH2F*[fnCuts];
+ hESDMotherEtaYEtaLowPtGamma = new TH2F*[fnCuts];
+ hESDMotherEtaYEtaHighPtGamma = new TH2F*[fnCuts];
+ }
}
for(Int_t iCut = 0; iCut<fnCuts;iCut++){
hESDConvGammaPt[iCut] = new TH1F("ESD_ConvGamma_Pt","ESD_ConvGamma_Pt",250,0,25);
fESDList[iCut]->Add(hESDConvGammaPt[iCut]);
- if (fDoPhotonQA){
+ if (fDoPhotonQA == 2){
fPhotonDCAList[iCut] = new TList();
fPhotonDCAList[iCut]->SetName(Form("%s_%s Photon DCA tree",cutstring.Data(),cutstringMeson.Data()));
fPhotonDCAList[iCut]->SetOwner(kTRUE);
fPhotonDCAList[iCut]->Add(tESDConvGammaPtDcazCat[iCut]);
}
+ if (fDoPhotonQA > 0){
+ hESDConvGammaR[iCut] = new TH1F("ESD_ConvGamma_R","ESD_ConvGamma_R",800,0,200);
+ fESDList[iCut]->Add(hESDConvGammaR[iCut]);
+ hESDConvGammaEta[iCut] = new TH1F("ESD_ConvGamma_Eta","ESD_ConvGamma_Eta",100,-4,4);
+ fESDList[iCut]->Add(hESDConvGammaEta[iCut]);
+ }
+
if(fDoMesonAnalysis){
hESDMotherInvMassPt[iCut] = new TH2F("ESD_Mother_InvMass_Pt","ESD_Mother_InvMass_Pt",800,0,0.8,250,0,25);
fESDList[iCut]->Add(hESDMotherInvMassPt[iCut]);
fESDList[iCut]->Add(hESDMotherBackInvMassPt[iCut]);
hESDMotherInvMassEalpha[iCut] = new TH2F("ESD_Mother_InvMass_vs_E_alpha","ESD_Mother_InvMass_vs_E_alpha",800,0,0.8,250,0,25);
fESDList[iCut]->Add(hESDMotherInvMassEalpha[iCut]);
- if (fDoMesonQA){
+ if (fDoMesonQA == 2){
fMesonDCAList[iCut] = new TList();
fMesonDCAList[iCut]->SetName(Form("%s_%s Meson DCA tree",cutstring.Data(),cutstringMeson.Data()));
fMesonDCAList[iCut]->SetOwner(kTRUE);
fMesonDCAList[iCut]->Add(tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]);
}
+ if (fDoMesonQA > 0 ){
+ hESDMotherPi0PtY[iCut] = new TH2F("ESD_MotherPi0_Pt_Y","ESD_MotherPi0_Pt_Y",250,0,25,150,-1.5,1.5);
+ fESDList[iCut]->Add(hESDMotherPi0PtY[iCut]);
+ hESDMotherEtaPtY[iCut] = new TH2F("ESD_MotherEta_Pt_Y","ESD_MotherEta_Pt_Y",250,0,25,150,-1.5,1.5);
+ fESDList[iCut]->Add(hESDMotherEtaPtY[iCut]);
+ hESDMotherPi0PtAlpha[iCut] = new TH2F("ESD_MotherPi0_Pt_Alpha","ESD_MotherPi0_Pt_Alpha",250,0,25,100,0,1);
+ fESDList[iCut]->Add(hESDMotherPi0PtAlpha[iCut]);
+ hESDMotherEtaPtAlpha[iCut] = new TH2F("ESD_MotherEta_Pt_Alpha","ESD_MotherEta_Pt_Alpha",250,0,25,100,0,1);
+ fESDList[iCut]->Add(hESDMotherEtaPtAlpha[iCut]);
+ hESDMotherPi0YEtaLowPtGamma[iCut] = new TH2F("ESD_MotherPi0_Y_EtaLowPtGamma","ESD_MotherPi0_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);
+ fESDList[iCut]->Add(hESDMotherPi0YEtaLowPtGamma[iCut]);
+ hESDMotherPi0YEtaHighPtGamma[iCut] = new TH2F("ESD_MotherPi0_Y_EtaHighPtGamma","ESD_MotherPi0_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);
+ fESDList[iCut]->Add(hESDMotherPi0YEtaHighPtGamma[iCut]);
+ hESDMotherEtaYEtaLowPtGamma[iCut] = new TH2F("ESD_MotherEta_Y_EtaLowPtGamma","ESD_MotherEta_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);
+ fESDList[iCut]->Add(hESDMotherEtaYEtaLowPtGamma[iCut]);
+ hESDMotherEtaYEtaHighPtGamma[iCut] = new TH2F("ESD_MotherEta_Y_EtaHighPtGamma","ESD_MotherEta_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);
+ fESDList[iCut]->Add(hESDMotherEtaYEtaHighPtGamma[iCut]);
+ }
+
+
}
hMCDecayGammaPhiPt = new TH1F*[fnCuts];
hMCDecayGammaSigmaPt = new TH1F*[fnCuts];
hMCConvGammaPt = new TH1F*[fnCuts];
- hMCConvGammaRSPt = new TH1F*[fnCuts];
hESDTrueConvGammaPt = new TH1F*[fnCuts];
hESDCombinatorialPt = new TH2F*[fnCuts];
hESDTruePrimaryConvGammaPt = new TH1F*[fnCuts];
hESDTruePrimaryConvGammaESDPtMCPt = new TH2F*[fnCuts];
- hESDTruePrimaryConvGammaRSESDPtMCPt = new TH2F*[fnCuts];
hESDTrueSecondaryConvGammaPt = new TH1F*[fnCuts];
hESDTrueSecondaryConvGammaFromXFromK0sPt = new TH1F*[fnCuts];
hESDTrueSecondaryConvGammaFromXFromLambdaPt = new TH1F*[fnCuts];
hESDTrueDalitzPsiPairDeltaPhi= new TH2F*[fnCuts];
hESDTrueGammaPsiPairDeltaPhi= new TH2F*[fnCuts];
- if (fDoPhotonQA){
+ if (fDoPhotonQA > 0){
hMCConvGammaR = new TH1F*[fnCuts];
hMCConvGammaEta = new TH1F*[fnCuts];
- hMCConvGammaRSR = new TH1F*[fnCuts];
- hMCConvGammaRSEta = new TH1F*[fnCuts];
}
if(fDoMesonAnalysis){
hESDTrueSecondaryMotherFromK0sInvMassPt = new TH2F*[fnCuts];
hESDTrueSecondaryMotherFromEtaInvMassPt = new TH2F*[fnCuts];
hESDTrueMotherDalitzInvMassPt = new TH2F*[fnCuts];
- if (fDoMesonQA){
+ if (fDoMesonQA > 0){
hMCPi0PtY = new TH2F*[fnCuts];
hMCEtaPtY = new TH2F*[fnCuts];
hMCK0sPt = new TH1F*[fnCuts];
hESDTrueEtaWithPi0DaughterMCPt = new TH1F*[fnCuts];
hESDTrueBckGGInvMassPt = new TH2F*[fnCuts];
hESDTrueBckContInvMassPt = new TH2F*[fnCuts];
- fTrueMotherRapList = new TList*[fnCuts];
+ hESDTruePi0PtY = new TH2F*[fnCuts];
+ hESDTrueEtaPtY = new TH2F*[fnCuts];
+ hESDTruePi0PtAlpha = new TH2F*[fnCuts];
+ hESDTrueEtaPtAlpha = new TH2F*[fnCuts];
+ hESDTruePi0YEtaLowPtGamma = new TH2F*[fnCuts];
+ hESDTruePi0YEtaHighPtGamma = new TH2F*[fnCuts];
+ hESDTrueEtaYEtaLowPtGamma = new TH2F*[fnCuts];
+ hESDTrueEtaYEtaHighPtGamma = new TH2F*[fnCuts];
}
}
fMCList[iCut]->Add(hMCDecayGammaSigmaPt[iCut]);
hMCConvGammaPt[iCut] = new TH1F("MC_ConvGamma_Pt","MC_ConvGamma_Pt",250,0,25);
fMCList[iCut]->Add(hMCConvGammaPt[iCut]);
- hMCConvGammaRSPt[iCut] = new TH1F("MC_ConvGamma_RS_Pt","MC_ConvGamma_RS_Pt",250,0,25);
- fMCList[iCut]->Add(hMCConvGammaRSPt[iCut]);
-
- if (fDoPhotonQA){
+
+ if (fDoPhotonQA > 0){
hMCConvGammaR[iCut] = new TH1F("MC_ConvGamma_R","MC_ConvGamma_R",800,0,200);
fMCList[iCut]->Add(hMCConvGammaR[iCut]);
hMCConvGammaEta[iCut] = new TH1F("MC_ConvGamma_Eta","MC_ConvGamma_Eta",100,-4,4);
fMCList[iCut]->Add(hMCConvGammaEta[iCut]);
- hMCConvGammaRSR[iCut] = new TH1F("MC_ConvGamma_RS_R","MC_ConvGamma_RS_R",800,0,200);
- fMCList[iCut]->Add(hMCConvGammaRSR[iCut]);
- hMCConvGammaRSEta[iCut] = new TH1F("MC_ConvGamma_RS_Eta","MC_ConvGamma_RS_Eta",100,-4,4);
- fMCList[iCut]->Add(hMCConvGammaRSEta[iCut]);
}
if(fDoMesonAnalysis){
hMCEtaInAccPt[iCut] = new TH1F("MC_EtaInAcc_Pt","MC_EtaInAcc_Pt",250,0,25);
hMCEtaInAccPt[iCut]->Sumw2();
fMCList[iCut]->Add(hMCEtaInAccPt[iCut]);
- if (fDoMesonQA){
- hMCPi0PtY[iCut] = new TH2F("MC_Pi0_Pt_Y","MC_Pi0_Pt_Y",250,0,25,20,-1,1);
+ if (fDoMesonQA > 0){
+ hMCPi0PtY[iCut] = new TH2F("MC_Pi0_Pt_Y","MC_Pi0_Pt_Y",250,0,25,150,-1.5,1.5);
hMCPi0PtY[iCut]->Sumw2();
fMCList[iCut]->Add(hMCPi0PtY[iCut]);
- hMCEtaPtY[iCut] = new TH2F("MC_Eta_Pt_Y","MC_Eta_Pt_Y",250,0,25,20,-1,1);
+ hMCEtaPtY[iCut] = new TH2F("MC_Eta_Pt_Y","MC_Eta_Pt_Y",250,0,25,150,-1.5,1.5);
hMCEtaPtY[iCut]->Sumw2();
fMCList[iCut]->Add(hMCEtaPtY[iCut]);
hMCK0sPt[iCut] = new TH1F("MC_K0s_Pt","MC_K0s_Pt",250,0,25);
hMCK0sWOWeightPt[iCut] = new TH1F("MC_K0s_WOWeights_Pt","MC_K0s_WOWeights_Pt",250,0,25);
hMCK0sWOWeightPt[iCut]->Sumw2();
fMCList[iCut]->Add(hMCK0sWOWeightPt[iCut]);
- hMCK0sPtY[iCut] = new TH2F("MC_K0s_Pt_Y","MC_K0s_Pt_Y",250,0,25,20,-1,1);
+ hMCK0sPtY[iCut] = new TH2F("MC_K0s_Pt_Y","MC_K0s_Pt_Y",250,0,25,150,-1.5,1.5);
hMCK0sPtY[iCut]->Sumw2();
fMCList[iCut]->Add(hMCK0sPtY[iCut]);
hESDTruePrimaryConvGammaESDPtMCPt[iCut] = new TH2F("ESD_TruePrimaryConvGammaESD_PtMCPt", "ESD_TruePrimaryConvGammaESD_PtMCPt",250,0,25,250,0,25);
fTrueList[iCut]->Add(hESDTruePrimaryConvGammaESDPtMCPt[iCut]);
- hESDTruePrimaryConvGammaRSESDPtMCPt[iCut]
- = new TH2F("ESD_TruePrimaryConvGammaESD_RS_PtMCPt", "ESD_TruePrimaryConvGammaESD_RS_PtMCPt",250,0,25,250,0,25);
- fTrueList[iCut]->Add(hESDTruePrimaryConvGammaRSESDPtMCPt[iCut]);
-
+
if(fDoMesonAnalysis){
hESDTrueMotherInvMassPt[iCut] = new TH2F("ESD_TrueMother_InvMass_Pt","ESD_TrueMother_InvMass_Pt",800,0,0.8,250,0,25);
fTrueList[iCut]->Add(hESDTrueMotherInvMassPt[iCut]);
fTrueList[iCut]->Add(hESDTrueSecondaryMotherFromEtaInvMassPt[iCut]);
hESDTrueMotherDalitzInvMassPt[iCut] = new TH2F("ESD_TrueDalitz_InvMass_Pt","ESD_TrueDalitz_InvMass_Pt",800,0,0.8,250,0,25);
fTrueList[iCut]->Add(hESDTrueMotherDalitzInvMassPt[iCut]);
- if (fDoMesonQA){
+ if (fDoMesonQA > 0){
hESDTruePrimaryPi0MCPtResolPt[iCut] = new TH2F("ESD_TruePrimaryPi0_MCPt_ResolPt","ESD_TruePrimaryPi0_ResolPt_MCPt",500,0,25,1000,-1.,1.);
hESDTruePrimaryPi0MCPtResolPt[iCut]->Sumw2();
fTrueList[iCut]->Add(hESDTruePrimaryPi0MCPtResolPt[iCut]);
fTrueList[iCut]->Add(hESDTrueK0sWithPi0DaughterMCPt[iCut]);
hESDTrueEtaWithPi0DaughterMCPt[iCut] = new TH1F("ESD_TrueEtaWithPi0Daughter_MCPt","ESD_TrueEtaWithPi0Daughter_MCPt",250,0,25);
fTrueList[iCut]->Add(hESDTrueEtaWithPi0DaughterMCPt[iCut]);
+ hESDTruePi0PtY[iCut] = new TH2F("ESD_TruePi0_Pt_Y","ESD_TruePi0_Pt_Y",250,0,25,150,-1.5,1.5);
+ fTrueList[iCut]->Add(hESDTruePi0PtY[iCut]);
+ hESDTrueEtaPtY[iCut] = new TH2F("ESD_TrueEta_Pt_Y","ESD_TrueEta_Pt_Y",250,0,25,150,-1.5,1.5);
+ fTrueList[iCut]->Add(hESDTrueEtaPtY[iCut]);
+ hESDTruePi0PtAlpha[iCut] = new TH2F("ESD_TruePi0_Pt_Alpha","ESD_TruePi0_Pt_Alpha",250,0,25,100,0,1);
+ fTrueList[iCut]->Add(hESDTruePi0PtAlpha[iCut]);
+ hESDTrueEtaPtAlpha[iCut] = new TH2F("ESD_TrueEta_Pt_Alpha","ESD_TrueEta_Pt_Alpha",250,0,25,100,0,1);
+ fTrueList[iCut]->Add(hESDTrueEtaPtAlpha[iCut]);
+
+ hESDTruePi0YEtaLowPtGamma[iCut] = new TH2F("ESD_TruePi0_Y_EtaLowPtGamma","ESD_TruePi0_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);
+ fTrueList[iCut]->Add(hESDTruePi0YEtaLowPtGamma[iCut]);
+ hESDTruePi0YEtaHighPtGamma[iCut] = new TH2F("ESD_TruePi0_Y_EtaHighPtGamma","ESD_TruePi0_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);
+ fTrueList[iCut]->Add(hESDTruePi0YEtaHighPtGamma[iCut]);
+ hESDTrueEtaYEtaLowPtGamma[iCut] = new TH2F("ESD_TrueEta_Y_EtaLowPtGamma","ESD_TrueEta_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);
+ fTrueList[iCut]->Add(hESDTrueEtaYEtaLowPtGamma[iCut]);
+ hESDTrueEtaYEtaHighPtGamma[iCut] = new TH2F("ESD_TrueEta_Y_EtaHighPtGamma","ESD_TrueEta_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);
+ fTrueList[iCut]->Add(hESDTrueEtaYEtaHighPtGamma[iCut]);
}
}
}
// ------------------- BeginEvent ----------------------------
+ AliEventplane *EventPlane = fInputEvent->GetEventplane();
+ if(fIsHeavyIon)fEventPlaneAngle = EventPlane->GetEventplane("V0",fInputEvent,2);
+ else fEventPlaneAngle=0.0;
+
if(fIsMC && fInputEvent->IsA()==AliAODEvent::Class() && !(fV0Reader->AreAODsRelabeled())){
RelabelAODPhotonCandidates(kTRUE); // In case of AODMC relabeling MC
fV0Reader->RelabelAODs(kTRUE);
}
if(!((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelected(PhotonCandidate,fInputEvent)) continue;
+ if(!((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(PhotonCandidate->GetPhotonPhi(),fEventPlaneAngle)) continue;
if(!((AliConversionCuts*)fCutArray->At(fiCut))->UseElecSharingCut() &&
!((AliConversionCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){
fGammaCandidates->Add(PhotonCandidate); // if no second loop is required add to events good gammas
if(fIsFromMBHeader){
hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+ if (fDoPhotonQA > 0){
+ hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+ hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+ }
}
if(fIsMC){
if(fInputEvent->IsA()==AliESDEvent::Class())
if(fInputEvent->IsA()==AliAODEvent::Class())
ProcessTruePhotonCandidatesAOD(PhotonCandidate);
}
- if (fIsFromMBHeader && fDoPhotonQA){
+ if (fIsFromMBHeader && fDoPhotonQA == 2){
if (fIsHeavyIon && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
fPtGamma = PhotonCandidate->Pt();
fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
fGammaCandidates->Add(PhotonCandidate);
if(fIsFromMBHeader){
hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+ if (fDoPhotonQA > 0){
+ hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+ hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+ }
}
}
if(fIsMC){
ProcessTruePhotonCandidatesAOD(PhotonCandidate);
} else GammaCandidatesStepTwo->Add(PhotonCandidate); // Close v0s cut enabled -> add to list two
- if (fIsFromMBHeader && fDoPhotonQA){
+ if (fIsFromMBHeader && fDoPhotonQA == 2){
if (fIsHeavyIon && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
fPtGamma = PhotonCandidate->Pt();
fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
fGammaCandidates->Add(PhotonCandidate); // Add gamma to current cut TList
if(fIsFromMBHeader){
hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+ if (fDoPhotonQA > 0){
+ hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+ hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+ }
}
if(fIsMC){
if(fInputEvent->IsA()==AliESDEvent::Class())
if(fIsFromMBHeader){
iPhotonMCInfo = 6;
hESDTruePrimaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
- hESDTruePrimaryConvGammaRSESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
+ hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
}
- hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
// (Not Filled for i6, Extra Signal Gamma (parambox) are secondary)
}
else{
// Count just primary MC Gammas as true --> For Ratio esdtruegamma / mcconvgamma
if(fIsFromMBHeader){
iPhotonMCInfo = 6;
- hESDTruePrimaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
- hESDTruePrimaryConvGammaRSESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
+ hESDTruePrimaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+ hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
+
}
- hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
// (Not Filled for i6, Extra Signal Gamma (parambox) are secondary)
}
else{
if (!particle) continue;
if (!particle->IsPrimary()) continue;
- Bool_t mcIsFromMB = kTRUE;
Int_t isMCFromMBHeader = -1;
if(((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 0){
isMCFromMBHeader
= ((AliConversionCuts*)fCutArray->At(fiCut))->IsParticleFromBGEvent(i, fMCStack, fInputEvent);
if(isMCFromMBHeader == 0 && ((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 3) continue;
- if(isMCFromMBHeader != 2) mcIsFromMB = kFALSE;
}
-
+
+ if(!((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(particle->Phi(),fEventPlaneAngle,kFALSE)) continue;
if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(particle,AODMCTrackArray,kFALSE)){
hMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
if(particle->GetMother() >-1){ // Meson Decay Gamma
}
}
hMCConvGammaPt[fiCut]->Fill(particle->Pt());
- if (fDoPhotonQA){
+ if (fDoPhotonQA > 0){
hMCConvGammaR[fiCut]->Fill(rConv);
hMCConvGammaEta[fiCut]->Fill(particle->Eta());
}
- if(mcIsFromMB){
- hMCConvGammaRSPt[fiCut]->Fill(particle->Pt());
- if (fDoPhotonQA){
- hMCConvGammaRSR[fiCut]->Fill(rConv);
- hMCConvGammaRSEta[fiCut]->Fill(particle->Eta());
- }
- }
}
// Converted MC Gamma
if(fDoMesonAnalysis){
- if(particle->GetPdgCode() == 310 && fDoMesonQA){
+ if(particle->GetPdgCode() == 310 && fDoMesonQA > 0){
Double_t mesonY = 10.;
if(particle->E() - particle->Pz() == 0 || particle->E() + particle->Pz() == 0){
mesonY=10.-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift();
if(particle->GetPdgCode() == 111){
hMCPi0Pt[fiCut]->Fill(particle->Pt(),weighted); // All MC Pi0
hMCPi0WOWeightPt[fiCut]->Fill(particle->Pt());
- if (fDoMesonQA) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+ if (fDoMesonQA > 0) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
} else if(particle->GetPdgCode() == 221){
hMCEtaPt[fiCut]->Fill(particle->Pt(),weighted); // All MC Eta
- if (fDoMesonQA) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+ if (fDoMesonQA > 0) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
}
// Check the acceptance for both gammas
if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(daughter0,AODMCTrackArray,kFALSE) &&
- ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(daughter1,AODMCTrackArray,kFALSE) ){
+ ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(daughter1,AODMCTrackArray,kFALSE) &&
+ ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter0->Phi(),fEventPlaneAngle,kFALSE) &&
+ ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter1->Phi(),fEventPlaneAngle,kFALSE)){
if(particle->GetPdgCode() == 111){
hMCPi0InAccPt[fiCut]->Fill(particle->Pt(),weighted); // MC Pi0 with gamma in acc
TParticle* particle = (TParticle *)fMCStack->Particle(i);
if (!particle) continue;
- Bool_t mcIsFromMB = kTRUE;
Int_t isMCFromMBHeader = -1;
if(((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 0){
isMCFromMBHeader
= ((AliConversionCuts*)fCutArray->At(fiCut))->IsParticleFromBGEvent(i, fMCStack, fInputEvent);
if(isMCFromMBHeader == 0 && ((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 3) continue;
- if(isMCFromMBHeader != 2) mcIsFromMB = kFALSE;
}
+ if(!((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(particle->Phi(),fEventPlaneAngle,kFALSE)) continue;
if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kFALSE)){
hMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
if(particle->GetMother(0) >-1){ // Meson Decay Gamma
}
if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kTRUE)){
hMCConvGammaPt[fiCut]->Fill(particle->Pt());
- if (fDoPhotonQA){
+ if (fDoPhotonQA > 0){
hMCConvGammaR[fiCut]->Fill(((TParticle*)fMCStack->Particle(particle->GetFirstDaughter()))->R());
hMCConvGammaEta[fiCut]->Fill(particle->Eta());
}
- if(mcIsFromMB){
- hMCConvGammaRSPt[fiCut]->Fill(particle->Pt());
- if (fDoPhotonQA){
- hMCConvGammaRSR[fiCut]->Fill(((TParticle*)fMCStack->Particle(particle->GetFirstDaughter()))->R());
- hMCConvGammaRSEta[fiCut]->Fill(particle->Eta());
- }
- }
} // Converted MC Gamma
if(fDoMesonAnalysis){
- if(particle->GetPdgCode() == 310 && fDoMesonQA){
+ if(particle->GetPdgCode() == 310 && fDoMesonQA > 0){
Double_t mesonY = 10.;
if(particle->Energy() - particle->Pz() == 0 || particle->Energy() + particle->Pz() == 0){
mesonY=10.-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift();
if(particle->GetPdgCode() == 111){
hMCPi0Pt[fiCut]->Fill(particle->Pt(),weighted); // All MC Pi0
hMCPi0WOWeightPt[fiCut]->Fill(particle->Pt());
- if (fDoMesonQA) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+ if (fDoMesonQA > 0) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
} else if(particle->GetPdgCode() == 221){
hMCEtaPt[fiCut]->Fill(particle->Pt(),weighted); // All MC Eta
- if (fDoMesonQA) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+ if (fDoMesonQA > 0) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
}
// Check the acceptance for both gammas
if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(daughter0,fMCStack,kFALSE) &&
- ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(daughter1,fMCStack,kFALSE) ){
+ ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(daughter1,fMCStack,kFALSE) &&
+ ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter0->Phi(),fEventPlaneAngle,kFALSE) &&
+ ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter1->Phi(),fEventPlaneAngle,kFALSE)){
if(particle->GetPdgCode() == 111){
hMCPi0InAccPt[fiCut]->Fill(particle->Pt(),weighted); // MC Pi0 with gamma in acc
hESDMotherInvMassPt[fiCut]->Fill(pi0cand->M(),pi0cand->Pt());
if(pi0cand->GetAlpha()<0.1)
hESDMotherInvMassEalpha[fiCut]->Fill(pi0cand->M(),pi0cand->E());
+
+ if (fDoMesonQA > 0){
+ if ( pi0cand->M() < 0.17){
+ hESDMotherPi0PtY[fiCut]->Fill(pi0cand->Pt(),abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+ hESDMotherPi0PtAlpha[fiCut]->Fill(pi0cand->Pt(),pi0cand->GetAlpha());
+ if (gamma0->Pt() < gamma1->Pt()){
+ hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta());
+ hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta());
+ } else {
+ hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta());
+ hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta());
+ }
+ }
+ if ( pi0cand->M() > 0.17 && pi0cand->M() < 0.7){
+ hESDMotherEtaPtY[fiCut]->Fill(pi0cand->Pt(),abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+ hESDMotherEtaPtAlpha[fiCut]->Fill(pi0cand->Pt(),pi0cand->GetAlpha());
+ if (gamma0->Pt() < gamma1->Pt()){
+ hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta());
+ hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta());
+ } else {
+ hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta());
+ hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta());
+ }
+ }
+ }
if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->DoBGCalculation()){
Int_t zbin = 0;
Int_t mbin = 0;
if(fInputEvent->IsA()==AliAODEvent::Class())
ProcessTrueMesonCandidatesAOD(pi0cand,gamma0,gamma1);
}
- if (fDoMesonQA){
+ if (fDoMesonQA == 2){
fInvMass = pi0cand->M();
fPt = pi0cand->Pt();
if (abs(gamma0->GetDCAzToPrimVtx()) < abs(gamma1->GetDCAzToPrimVtx())){
if(isTruePi0 || isTrueEta){// True Pion or Eta
hESDTrueMotherInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ if (fDoMesonQA > 0){
+ if (isTruePi0){
+ hESDTruePi0PtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+ hESDTruePi0PtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha());
+ if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+ hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ } else {
+ hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ }
+
+ } else if (isTrueEta){
+ hESDTrueEtaPtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+ hESDTrueEtaPtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha());
+ if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+ hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ } else {
+ hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ }
+ }
+ }
if(gamma0MotherLabel >= MCStack->GetNprimary()){ // Secondary Meson
Int_t secMotherLabel = ((TParticle*)MCStack->Particle(gamma1MotherLabel))->GetMother(0);
Float_t weightedSec= 1;
if(MCStack->Particle(secMotherLabel)->GetPdgCode()==310){
iMesonMCInfo = 4;
hESDTrueSecondaryMotherFromK0sInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
- if (fDoMesonQA)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
+ if (fDoMesonQA > 0)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
->Fill(MCStack->Particle(secMotherLabel)->Pt());
}
if(MCStack->Particle(secMotherLabel)->GetPdgCode()==221){
iMesonMCInfo = 3;
hESDTrueSecondaryMotherFromEtaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
- if (fDoMesonQA)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
+ if (fDoMesonQA > 0)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
->Fill(MCStack->Particle(secMotherLabel)->Pt());
}
}
hESDTruePrimaryMotherInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weighted);
hESDTruePrimaryMotherW0WeightingInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
pESDTruePrimaryMotherWeightsInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weighted);
- if (fDoMesonQA){
+
+
+ if (fDoMesonQA > 0){
if(isTruePi0){ // Only primary pi0 for resolution
hESDTruePrimaryPi0MCPtResolPt[fiCut]->Fill(((TParticle*)MCStack->Particle(gamma1MotherLabel))->Pt(),(Pi0Candidate->Pt()-((TParticle*)MCStack->Particle(gamma1MotherLabel))->Pt())/((TParticle*)MCStack->Particle(gamma1MotherLabel))->Pt(),weighted);
}
}
}
} else if(!isTruePi0 && !isTrueEta){ // Background
- if (fDoMesonQA){
+ if (fDoMesonQA > 0){
if(gamma0MotherLabel>-1 && gamma1MotherLabel>-1){ // Both Tracks are Photons and have a mother but not Pi0 or Eta
hESDTrueBckGGInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
iMesonMCInfo = 1;
iMesonMCInfo = 5;
hESDTrueMotherDalitzInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
} else if (gamma0DalitzCand || gamma1DalitzCand){
- if (fDoMesonQA)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ if (fDoMesonQA > 0)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
}
}
}
if(isTruePi0 || isTrueEta){// True Pion or Eta
hESDTrueMotherInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
-
+ if (fDoMesonQA > 0){
+ if (isTruePi0){
+ hESDTruePi0PtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+ hESDTruePi0PtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha());
+ if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+ hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ } else {
+ hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ }
+ } else if (isTrueEta){
+ hESDTrueEtaPtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+ hESDTrueEtaPtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha());
+ if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+ hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ } else {
+ hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta());
+ hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta());
+ }
+
+ }
+ }
if(!(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma0MotherLabel))->IsPrimary())){ // Secondary Meson
Int_t secMotherLabel = static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->GetMother();
Float_t weightedSec= 1;
if(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->GetPdgCode()==310){
iMesonMCInfo = 4;
hESDTrueSecondaryMotherFromK0sInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
- if (fDoMesonQA)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
+ if (fDoMesonQA > 0)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->Pt());
}
if(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->GetPdgCode()==221){
iMesonMCInfo = 3;
hESDTrueSecondaryMotherFromEtaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
- if (fDoMesonQA)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
+ if (fDoMesonQA > 0)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->Pt());
}
}
hESDTruePrimaryMotherW0WeightingInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
pESDTruePrimaryMotherWeightsInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weighted);
- if (fDoMesonQA){
+ if (fDoMesonQA > 0){
if(isTruePi0){ // Only primary pi0 for resolution
hESDTruePrimaryPi0MCPtResolPt[fiCut]->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt(),
(Pi0Candidate->Pt()-static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt())/static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt(),weighted);
+
}
if (isTrueEta){ // Only primary eta for resolution
hESDTruePrimaryEtaMCPtResolPt[fiCut]->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt(),
}
}
} else if(!isTruePi0 && !isTrueEta) { // Background
- if (fDoMesonQA){
+ if (fDoMesonQA > 0){
if(gamma0MotherLabel>-1 && gamma1MotherLabel>-1){ // Both Tracks are Photons and have a mother but not Pi0 or Eta
hESDTrueBckGGInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
iMesonMCInfo = 1;
iMesonMCInfo = 5;
hESDTrueMotherDalitzInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
} else if (gamma0DalitzCand || gamma1DalitzCand){
- if (fDoMesonQA)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ if (fDoMesonQA > 0)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
}
}
}
if(fMoveParticleAccordingToVertex == kTRUE){
MoveParticleAccordingToVertex(&previousGoodV0,bgEventVertex);
}
+ if(fIsHeavyIon){
+ RotateParticleAccordingToEP(&previousGoodV0,bgEventVertex->fEP,fEventPlaneAngle);
+ }
AliAODConversionMother *backgroundCandidate = new AliAODConversionMother(¤tEventGoodV0,&previousGoodV0);
backgroundCandidate->CalculateDistanceOfClossetApproachToPrimVtx(fInputEvent->GetPrimaryVertex());
if(fMoveParticleAccordingToVertex == kTRUE){
MoveParticleAccordingToVertex(&previousGoodV0,bgEventVertex);
}
+ if(fIsHeavyIon){
+ RotateParticleAccordingToEP(&previousGoodV0,bgEventVertex->fEP,fEventPlaneAngle);
+ }
+
AliAODConversionMother *backgroundCandidate = new AliAODConversionMother(¤tEventGoodV0,&previousGoodV0);
backgroundCandidate->CalculateDistanceOfClossetApproachToPrimVtx(fInputEvent->GetPrimaryVertex());
Double_t rotationValue = fRandom.Rndm()*2*nRadiansPM + TMath::Pi()-nRadiansPM;
gamma->RotateZ(rotationValue);
}
+
+//________________________________________________________________________
+void AliAnalysisTaskGammaConvV1::RotateParticleAccordingToEP(AliAODConversionPhoton *gamma, Double_t previousEventEP, Double_t thisEventEP){
+
+ previousEventEP=previousEventEP+TMath::Pi();
+ thisEventEP=thisEventEP+TMath::Pi();
+ Double_t rotationValue= thisEventEP-previousEventEP;
+ gamma->RotateZ(rotationValue);
+}
+
//________________________________________________________________________
void AliAnalysisTaskGammaConvV1::MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex){
//see header file for documentation
//see header file for documentation
if(fGammaCandidates->GetEntries() >0 ){
if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->UseTrackMultiplicity()){
- fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fV0Reader->GetNumberOfPrimaryTracks());
+ fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fV0Reader->GetNumberOfPrimaryTracks(),fEventPlaneAngle);
}
else{ // means we use #V0s for multiplicity
- fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGammaCandidates->GetEntries());
+ fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGammaCandidates->GetEntries(),fEventPlaneAngle);
}
}
}
void SetIsMC(Bool_t isMC){fIsMC=isMC;}
void SetDoMesonAnalysis(Bool_t flag){fDoMesonAnalysis = flag;}
- void SetDoMesonQA(Bool_t flag){fDoMesonQA = flag;}
- void SetDoPhotonQA(Bool_t flag){fDoPhotonQA = flag;}
+ void SetDoMesonQA(Int_t flag){fDoMesonQA = flag;}
+ void SetDoPhotonQA(Int_t flag){fDoPhotonQA = flag;}
void ProcessPhotonCandidates();
void CalculatePi0Candidates();
void CalculateBackground();
void ProcessTrueMesonCandidates( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
void ProcessTrueMesonCandidatesAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
void RotateParticle(AliAODConversionPhoton *gamma);
+ void RotateParticleAccordingToEP(AliAODConversionPhoton *gamma, Double_t previousEventEP, Double_t thisEventEP);
void SetConversionCutList(Int_t nCuts, TList *CutArray){
fnCuts = nCuts;
fCutArray = CutArray;
TList **fPhotonDCAList;
TList **fMesonDCAList;
TList **fTrueList;
- TList **fTrueMotherRapList;
TList **fMCList;
TList **fHeaderNameList;
TList *fOutputContainer;
TList *fMesonCutArray;
AliConversionMesonCuts *fMesonCuts;
TH1F **hESDConvGammaPt;
+ TH1F **hESDConvGammaR;
+ TH1F **hESDConvGammaEta;
TTree **tESDConvGammaPtDcazCat;
Float_t fPtGamma;
Float_t fDCAzPhoton;
TH2F **hESDMotherBackInvMassPt;
THnSparseF **sESDMotherBackInvMassPtZM;
TH2F **hESDMotherInvMassEalpha;
+ TH2F **hESDMotherPi0PtY;
+ TH2F **hESDMotherEtaPtY;
+ TH2F **hESDMotherPi0PtAlpha;
+ TH2F **hESDMotherEtaPtAlpha;
+ TH2F **hESDMotherPi0YEtaLowPtGamma;
+ TH2F **hESDMotherPi0YEtaHighPtGamma;
+ TH2F **hESDMotherEtaYEtaLowPtGamma;
+ TH2F **hESDMotherEtaYEtaHighPtGamma;
TH1I **hMCHeaders;
TH1F **hMCAllGammaPt;
TH1F **hMCDecayGammaPi0Pt;
TH1F **hMCConvGammaPt;
TH1F **hMCConvGammaR;
TH1F **hMCConvGammaEta;
- TH1F **hMCConvGammaRSPt;
- TH1F **hMCConvGammaRSR;
- TH1F **hMCConvGammaRSEta;
TH1F **hMCPi0Pt;
TH1F **hMCPi0WOWeightPt;
TH1F **hMCEtaPt;
TH1F **hESDTrueEtaWithPi0DaughterMCPt;
TH2F **hESDTrueBckGGInvMassPt;
TH2F **hESDTrueBckContInvMassPt;
+ TH2F **hESDTruePi0PtY;
+ TH2F **hESDTrueEtaPtY;
+ TH2F **hESDTruePi0PtAlpha;
+ TH2F **hESDTrueEtaPtAlpha;
+ TH2F **hESDTruePi0YEtaLowPtGamma;
+ TH2F **hESDTruePi0YEtaHighPtGamma;
+ TH2F **hESDTrueEtaYEtaLowPtGamma;
+ TH2F **hESDTrueEtaYEtaHighPtGamma;
TH2F **hESDTrueMotherDalitzInvMassPt;
TH1F **hESDTrueConvGammaPt;
TH2F **hESDCombinatorialPt;
TH1F **hESDTruePrimaryConvGammaPt;
TH2F **hESDTruePrimaryConvGammaESDPtMCPt;
- TH2F **hESDTruePrimaryConvGammaRSESDPtMCPt;
TH1F **hESDTrueSecondaryConvGammaPt;
TH1F **hESDTrueSecondaryConvGammaFromXFromK0sPt;
TH1F **hESDTrueSecondaryConvGammaFromXFromLambdaPt;
// 4: secondary meson from k0s,
// 5: dalitz
// 6: primary meson gamma-gamma-channel
+ Double_t fEventPlaneAngle; // EventPlaneAngle
TRandom3 fRandom;
Int_t fnGammaCandidates;
Double_t *fUnsmearedPx; //[fnGammaCandidates]
Bool_t fMoveParticleAccordingToVertex;
Bool_t fIsHeavyIon;
Bool_t fDoMesonAnalysis;
- Bool_t fDoMesonQA;
- Bool_t fDoPhotonQA;
+ Int_t fDoMesonQA;
+ Int_t fDoPhotonQA;
Bool_t fIsFromMBHeader;
Bool_t fIsMC;
AliAnalysisTaskGammaConvV1 &operator=(const AliAnalysisTaskGammaConvV1&); // Prevent assignment
- ClassDef(AliAnalysisTaskGammaConvV1, 7);
+ ClassDef(AliAnalysisTaskGammaConvV1, 8);
};
#endif
"RejectToCloseV0s", //24
"DcaRPrimVtx", //25
"DcaZPrimVtx" //26
+ "EvetPlane" //27
};
fElectronLabelArray(NULL),
fDCAZPrimVtxCut(1000),
fDCARPrimVtxCut(1000),
+ fInPlaneOutOfPlane(0),
fConversionPointXArray(0.0),
fConversionPointYArray(0.0),
fConversionPointZArray(0.0),
hCentrality(NULL),
hCentralityVsNumberOfPrimaryTracks(NULL),
hVertexZ(NULL),
+ hEventPlanePhi(NULL),
hTriggerClass(NULL),
hTriggerClassSelected(NULL),
hReweightMCHistPi0(NULL),
fElectronLabelArray(NULL),
fDCAZPrimVtxCut(ref.fDCAZPrimVtxCut),
fDCARPrimVtxCut(ref.fDCAZPrimVtxCut),
+ fInPlaneOutOfPlane(ref.fInPlaneOutOfPlane),
fConversionPointXArray(ref.fConversionPointXArray),
fConversionPointYArray(ref.fConversionPointYArray),
fConversionPointZArray(ref.fConversionPointZArray),
hCentrality(NULL),
hCentralityVsNumberOfPrimaryTracks(NULL),
hVertexZ(NULL),
+ hEventPlanePhi(NULL),
hTriggerClass(NULL),
hTriggerClassSelected(NULL),
hReweightMCHistPi0(ref.hReweightMCHistPi0),
// fHistograms->Add(fFitDataK0s);
// }
// IsPhotonSelected
- hCutIndex=new TH1F(Form("IsPhotonSelected %s",GetCutNumber().Data()),"IsPhotonSelected",10,-0.5,9.5);
+ hCutIndex=new TH1F(Form("IsPhotonSelected %s",GetCutNumber().Data()),"IsPhotonSelected",11,-0.5,10.5);
hCutIndex->GetXaxis()->SetBinLabel(kPhotonIn+1,"in");
hCutIndex->GetXaxis()->SetBinLabel(kOnFly+1,"onfly");
hCutIndex->GetXaxis()->SetBinLabel(kNoTracks+1,"no tracks");
hCutIndex->GetXaxis()->SetBinLabel(kTrackCuts+1,"Track cuts");
hCutIndex->GetXaxis()->SetBinLabel(kConvPointFail+1,"ConvPoint fail");
hCutIndex->GetXaxis()->SetBinLabel(kPhotonCuts+1,"PhotonCuts");
+ hCutIndex->GetXaxis()->SetBinLabel(kEventPlane+1,"EventPlane");
hCutIndex->GetXaxis()->SetBinLabel(kPhotonOut+1,"out");
fHistograms->Add(hCutIndex);
}
delete [] newBins;
+ hCentrality=new TH1F(Form("Centrality %s",GetCutNumber().Data()),"Centrality",1000,0,100);
+ fHistograms->Add(hCentrality);
+ hCentralityVsNumberOfPrimaryTracks=new TH2F(Form("Centrality vs Primary Tracks %s",GetCutNumber().Data()),"Centrality vs Primary Tracks ",100,0,100,4000,0,4000);
+ fHistograms->Add(hCentralityVsNumberOfPrimaryTracks);
+
// Event Cuts and Info
if(preCut){
hV0EventCuts=new TH1F(Form("ESD_EventCuts %s",GetCutNumber().Data()),"Event Cuts",7,-0.5,6.5);
hV0EventCuts->GetXaxis()->SetBinLabel(7,"out");
fHistograms->Add(hV0EventCuts);
- hCentrality=new TH1F(Form("Centrality %s",GetCutNumber().Data()),"Centrality",1000,0,100);
- fHistograms->Add(hCentrality);
- hCentralityVsNumberOfPrimaryTracks=new TH2F(Form("Centrality vs Primary Tracks %s",GetCutNumber().Data()),"Centrality vs Primary Tracks ",100,0,100,4000,0,4000);
- fHistograms->Add(hCentralityVsNumberOfPrimaryTracks);
hVertexZ=new TH1F(Form("VertexZ %s",GetCutNumber().Data()),"VertexZ",1000,-50,50);
fHistograms->Add(hVertexZ);
hTriggerClassSelected->GetXaxis()->SetBinLabel(33,"V0AND");
hTriggerClassSelected->GetXaxis()->SetBinLabel(34,"NOT kFastOnly");
fHistograms->Add(hTriggerClassSelected);
+
+ hEventPlanePhi=new TH1F(Form("EventPlaneMinusPhotonAngle %s",GetCutNumber().Data()),"EventPlaneMinusPhotonAngle",360,-TMath::Pi(),TMath::Pi());
+ fHistograms->Add(hEventPlanePhi);
+
+
}
TH1::AddDirectory(kTRUE);
}
return kTRUE;
} else return kFALSE;
+ case kInPlaneOutOfPlane:
+ if( SetInPlaneOutOfPlane(value)) {
+ fCuts[kInPlaneOutOfPlane] = value;
+ UpdateCutString();
+ return kTRUE;
+ } else return kFALSE;
+
+
+
case kNCuts:
AliError("Cut id out of range");
return kTRUE;
}
+///________________________________________________________________________
+Bool_t AliConversionCuts::SetInPlaneOutOfPlane(Int_t inOutPlane){
+ // Set Cut
+ switch(inOutPlane){
+ case 0: //
+ fInPlaneOutOfPlane = 0; // No Event Plane
+ break;
+ case 1: //
+ fInPlaneOutOfPlane = 1; // In-Plane
+ break;
+ case 2: //
+ fInPlaneOutOfPlane = 2; // Out-Of-Plane
+ break;
+ default:
+ cout<<"Warning: In-Plane or Out-Of-Plane not defined "<<inOutPlane<<endl;
+ return kFALSE;
+ }
+ return kTRUE;
+}
+
//-------------------------------------------------------------
Double_t AliConversionCuts::GetCentrality(AliVEvent *event)
}
else printf(" Gamma Conversion Cuts %s :: Automatic Eta Shift requested but Period is not known -> No Shift \n\n",(GetCutNumber()).Data());
}
+
+///________________________________________________________________________
+Bool_t AliConversionCuts::InPlaneOutOfPlaneCut(Double_t photonPhi, Double_t eventPlaneAngle, Bool_t fill){
+
+ //GetPhotonPhi() 0-2 Pi //eventPlaneAngle -1pi-1pi
+ eventPlaneAngle=eventPlaneAngle+TMath::Pi();
+ Double_t gammaToEPAngle = eventPlaneAngle-photonPhi;
+ if(gammaToEPAngle < 0) gammaToEPAngle=gammaToEPAngle+2*TMath::Pi();
+ gammaToEPAngle = gammaToEPAngle-TMath::Pi(); // angle from -pi +pi
+
+ if(!fInPlaneOutOfPlane){
+ if(fill&&hEventPlanePhi)hEventPlanePhi->Fill(gammaToEPAngle);
+ return kTRUE;
+ }
+ else if(fInPlaneOutOfPlane == 1){
+ if(abs(gammaToEPAngle)<=0.25*TMath::Pi() || abs(gammaToEPAngle)>=0.75*TMath::Pi()){
+ if(fill&&hEventPlanePhi)hEventPlanePhi->Fill(gammaToEPAngle);
+ return kTRUE;
+ }
+ else return kFALSE;
+ }
+ else if(fInPlaneOutOfPlane == 2){
+ if(abs(gammaToEPAngle)>0.25*TMath::Pi() && abs(gammaToEPAngle)<0.75*TMath::Pi()){
+ if(fill&&hEventPlanePhi)hEventPlanePhi->Fill(gammaToEPAngle);
+ return kTRUE;
+ }
+ else return kFALSE;
+ }
+ return kFALSE;
+
+}
+
using namespace std;
class AliConversionCuts : public AliAnalysisCuts {
+
+ public:
+
+
+ enum cutIds {
+ kisHeavyIon,
+ kCentralityMin,
+ kCentralityMax,
+ kselectV0AND,
+ kmultiplicityMethod,
+ kremovePileUp,
+ kExtraSignals,
+ kv0FinderType,
+ ketaCut,
+ kRCut,
+ ksinglePtCut,
+ kclsTPCCut,
+ kededxSigmaCut,
+ kpidedxSigmaCut,
+ kpiMomdedxSigmaCut,
+ kpiMaxMomdedxSigmaCut,
+ kLowPRejectionSigmaCut,
+ kTOFelectronPID,
+ kQtMaxCut,
+ kchi2GammaCut,
+ kPsiPair,
+ kdoPhotonAsymmetryCut,
+ kCosPAngle,
+ kElecShare,
+ kToCloseV0s,
+ kDcaRPrimVtx,
+ kDcaZPrimVtx,
+ kInPlaneOutOfPlane,
+ kNCuts
+ };
+
+ enum photonCuts {
+ kPhotonIn=0,
+ kOnFly,
+ kNoTracks,
+ kTrackCuts,
+ kdEdxCuts,
+ kConvPointFail,
+ kPhotonCuts,
+ kEventPlane,
+ kPhotonOut
+ };
+
+
+ Bool_t SetCutIds(TString cutString);
+ Int_t fCuts[kNCuts];
+ Bool_t SetCut(cutIds cutID, Int_t cut);
+ Bool_t UpdateCutString();
+
+
+ static const char * fgkCutNames[kNCuts];
+
+ Double_t GetCosineOfPointingAngle(const AliConversionPhotonBase * photon, AliVEvent * event) const;
+
+
+ Bool_t InitializeCutsFromCutString(const TString analysisCutSelection);
+ void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kAny) {
+ fOfflineTriggerMask = offlineTriggerMask;
+ fTriggerSelectedManually = kTRUE;
+ }
+ void SelectSpecialTrigger(UInt_t offlineTriggerMask = AliVEvent::kAny, TString TriggerClassName = "AliVEvent::kAny" ) {
+ fOfflineTriggerMask = offlineTriggerMask;
+ fSpecialTriggerName = TriggerClassName;
+ cout << fSpecialTriggerName.Data() << endl;
+
+ }
+ void FillElectonLabelArray(AliAODConversionPhoton* photon, Int_t nV0);
+ void SetAcceptedHeader(TList *HeaderList){fHeaderList = HeaderList;}
+ void SetPreSelectionCutFlag(Bool_t preSelFlag){fPreSelCut = preSelFlag;}
+ TString *GetFoundHeader(){return fGeneratorNames;}
+
+ Int_t GetEventQuality(){return fEventQuality;}
+ Bool_t GetIsFromPileup(){return fRemovePileUp;}
- public:
+ AliConversionCuts(const char *name="V0Cuts", const char * title="V0 Cuts");
+ AliConversionCuts(const AliConversionCuts&);
+ AliConversionCuts& operator=(const AliConversionCuts&);
+
+ virtual ~AliConversionCuts(); //virtual destructor
+
+ static AliConversionCuts * GetStandardCuts2010PbPb();
+ static AliConversionCuts * GetStandardCuts2010pp();
+
+ virtual Bool_t IsSelected(TObject* /*obj*/){return kTRUE;}
+ virtual Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
+
+ TString GetCutNumber();
+
+ void GetCentralityRange(Double_t range[2]){range[0]=10*fCentralityMin;range[1]=10*fCentralityMax;};
+ // Cut Selection
+ Bool_t EventIsSelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent);
+ Int_t IsEventAcceptedByConversionCut(AliConversionCuts *ReaderCuts, AliVEvent *InputEvent, AliMCEvent *MCEvent, Bool_t isHeavyIon);
+ Bool_t PhotonIsSelected(AliConversionPhotonBase * photon, AliVEvent * event);
+ Bool_t PhotonIsSelectedMC(TParticle *particle,AliStack *fMCStack,Bool_t checkForConvertedGamma=kTRUE);
+ Bool_t PhotonIsSelectedAODMC(AliAODMCParticle *particle,TClonesArray *aodmcArray,Bool_t checkForConvertedGamma=kTRUE);
+ Bool_t ElectronIsSelectedMC(TParticle *particle,AliStack *fMCStack);
+ Bool_t TracksAreSelected(AliVTrack * negTrack, AliVTrack * posTrack);
+ Bool_t MesonIsSelected(AliAODConversionMother *pi0,Bool_t IsSignal=kTRUE);
+ Bool_t MesonIsSelectedMC(TParticle *fMCMother,AliStack *fMCStack, Bool_t bMCDaughtersInAcceptance=kFALSE);
- enum cutIds {
- kisHeavyIon,
- kCentralityMin,
- kCentralityMax,
- kselectV0AND,
- kmultiplicityMethod,
- kremovePileUp,
- kExtraSignals,
- kv0FinderType,
- ketaCut,
- kRCut,
- ksinglePtCut,
- kclsTPCCut,
- kededxSigmaCut,
- kpidedxSigmaCut,
- kpiMomdedxSigmaCut,
- kpiMaxMomdedxSigmaCut,
- kLowPRejectionSigmaCut,
- kTOFelectronPID,
- kQtMaxCut,
- kchi2GammaCut,
- kPsiPair,
- kdoPhotonAsymmetryCut,
- kCosPAngle,
- kElecShare,
- kToCloseV0s,
- kDcaRPrimVtx,
- kDcaZPrimVtx,
- kNCuts
- };
-
- enum photonCuts {
- kPhotonIn=0,
- kOnFly,
- kNoTracks,
- kTrackCuts,
- kdEdxCuts,
- kConvPointFail,
- kPhotonCuts,
- kPhotonOut
- };
-
-
- Bool_t SetCutIds(TString cutString);
- Int_t fCuts[kNCuts];
- Bool_t SetCut(cutIds cutID, Int_t cut);
- Bool_t UpdateCutString();
-
-
- static const char * fgkCutNames[kNCuts];
-
- Double_t GetCosineOfPointingAngle(const AliConversionPhotonBase * photon, AliVEvent * event) const;
-
-
- Bool_t InitializeCutsFromCutString(const TString analysisCutSelection);
- void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kAny) {
- fOfflineTriggerMask = offlineTriggerMask;
- fTriggerSelectedManually = kTRUE;
- }
- void SelectSpecialTrigger(UInt_t offlineTriggerMask = AliVEvent::kAny, TString TriggerClassName = "AliVEvent::kAny" ) {
- fOfflineTriggerMask = offlineTriggerMask;
- fSpecialTriggerName = TriggerClassName;
- cout << fSpecialTriggerName.Data() << endl;
-
- }
- void FillElectonLabelArray(AliAODConversionPhoton* photon, Int_t nV0);
- void SetAcceptedHeader(TList *HeaderList){fHeaderList = HeaderList;}
- void SetPreSelectionCutFlag(Bool_t preSelFlag){fPreSelCut = preSelFlag;}
- TString *GetFoundHeader(){return fGeneratorNames;}
-
- Int_t GetEventQuality(){return fEventQuality;}
- Bool_t GetIsFromPileup(){return fRemovePileUp;}
-
- AliConversionCuts(const char *name="V0Cuts", const char * title="V0 Cuts");
- AliConversionCuts(const AliConversionCuts&);
- AliConversionCuts& operator=(const AliConversionCuts&);
+ void InitAODpidUtil(Int_t type);
+ Bool_t InitPIDResponse();
+
+ void SetPIDResponse(AliPIDResponse * pidResponse) {fPIDResponse = pidResponse;}
+ AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
+
+ void PrintCuts();
- virtual ~AliConversionCuts(); //virtual destructor
+ void InitCutHistograms(TString name="",Bool_t preCut = kTRUE);
+ void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE){if(!fHistograms){InitCutHistograms(name,preCut);};}
+ TList *GetCutHistograms(){return fHistograms;}
+ void FillPhotonCutIndex(Int_t photoncut){if(hCutIndex)hCutIndex->Fill(photoncut);}
+ void SetEtaShift(Double_t etaShift) {
+ fEtaShift = etaShift;
+ fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
+ if(fEtaCutMin > -0.1)
+ fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
+ }
+ void SetEtaShift(TString pPbOrPbp) {
+ Double_t etaShift = 0.0;
+ if(!pPbOrPbp.CompareTo("pPb")) etaShift = -0.465;
+ else if(!pPbOrPbp.CompareTo("Pbp")) etaShift = 0.465;
+
+ fEtaShift = etaShift;
+ fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
+ if(fEtaCutMin > -0.1)
+ fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
+ }
+ Double_t GetEtaShift() {return fEtaShift;}
+ Bool_t GetDoEtaShift(){return fDoEtaShift;}
+ void DoEtaShift(Bool_t doEtaShift){fDoEtaShift = doEtaShift;}
+ void GetCorrectEtaShiftFromPeriod(TString periodName);
+
+ static AliVTrack * GetTrack(AliVEvent * event, Int_t label);
+ static AliESDtrack *GetESDTrack(AliESDEvent * event, Int_t label);
+
+ ///Cut functions
+ Bool_t SpecificTrackCuts(AliAODTrack * negTrack, AliAODTrack * posTrack,Int_t &cutIndex);
+ Bool_t SpecificTrackCuts(AliESDtrack * negTrack, AliESDtrack * posTrack,Int_t &cutIndex);
+ Bool_t AcceptanceCuts(AliConversionPhotonBase *photon);
+ Bool_t AcceptanceCut(TParticle *particle, TParticle * ePos,TParticle* eNeg);
+ Bool_t dEdxCuts(AliVTrack * track);
+ Bool_t ArmenterosQtCut(AliConversionPhotonBase *photon);
+ Bool_t AsymmetryCut(AliConversionPhotonBase *photon,AliVEvent *event);
+ Bool_t PIDProbabilityCut(AliConversionPhotonBase *photon, AliVEvent * event);
+ Bool_t SelectV0Finder(Bool_t onfly){
+ if(onfly == fUseOnFlyV0Finder) return kTRUE;
+ else return kFALSE;
+ }
+ Bool_t PhotonCuts(AliConversionPhotonBase *photon,AliVEvent *event);
+ Bool_t CorrectedTPCClusterCut(AliConversionPhotonBase *photon, AliVEvent * event);
+ Bool_t PsiPairCut(const AliConversionPhotonBase * photon, Double_t deltaPhi) const;
+ Bool_t CosinePAngleCut(const AliConversionPhotonBase * photon, AliVEvent * event) const;
+ Bool_t RejectSharedElectronV0s(AliAODConversionPhoton* photon, Int_t nV0, Int_t nV0s);
+ Bool_t RejectToCloseV0s(AliAODConversionPhoton* photon, TList *photons, Int_t nV0);
+ Int_t IsParticleFromBGEvent(Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
+ void GetNotRejectedParticles(Int_t rejection, TList *HeaderList, AliVEvent *MCEvent);
+ void SetUseReweightingWithHistogramFromFile( Bool_t pi0reweight=kTRUE, Bool_t etareweight=kFALSE, Bool_t k0sreweight=kFALSE, TString path="$ALICE_ROOT/PWGGA/GammaConv/MCSpectraInput.root",
+ TString histoNamePi0 = "", TString histoNameEta = "", TString histoNameK0s = "",
+ TString fitNamePi0 = "", TString fitNameEta = "", TString fitNameK0s ="" ) {
+ AliInfo(Form("enabled reweighting for: pi0 : %i, eta: %i, K0s: %i",pi0reweight, etareweight, k0sreweight));
+ fDoReweightHistoMCPi0 = pi0reweight;
+ fDoReweightHistoMCEta = etareweight;
+ fDoReweightHistoMCK0s = k0sreweight;
+ fPathTrFReweighting=path;
+ fNameHistoReweightingPi0 =histoNamePi0;
+ fNameHistoReweightingEta =histoNameEta;
+ fNameHistoReweightingK0s =histoNameK0s;
+ fNameFitDataPi0 =fitNamePi0;
+ fNameFitDataEta =fitNameEta;
+ fNameFitDataK0s =fitNameK0s;
+
+ }
+ void LoadReweightingHistosMCFromFile ();
+ // Event Cuts
+ Bool_t IsCentralitySelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent = NULL);
+ Double_t GetCentrality(AliVEvent *event);
+ Int_t GetNumberOfContributorsVtx(AliVEvent *event);
+ Bool_t VertexZCut(AliVEvent *fInputEvent);
+ Bool_t IsTriggerSelected(AliVEvent *fInputEvent);
+ Bool_t HasV0AND(){return fHasV0AND;}
+ Bool_t IsSDDFired(){return fIsSDDFired;}
+ Int_t IsSpecialTrigger(){return fSpecialTrigger;}
+ TString GetSpecialTriggerName(){return fSpecialTriggerName;}
+ Bool_t InPlaneOutOfPlaneCut(Double_t photonPhi, Double_t eventPlaneAngle = -100, Bool_t fill = kTRUE);
+ Int_t GetInPlaneOutOfPlaneCut(){return fInPlaneOutOfPlane;}
- static AliConversionCuts * GetStandardCuts2010PbPb();
- static AliConversionCuts * GetStandardCuts2010pp();
- virtual Bool_t IsSelected(TObject* /*obj*/){return kTRUE;}
- virtual Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
+ // Set Individual Cuts
+ Bool_t SetRCut(Int_t RCut);
+ Bool_t SetV0Finder(Int_t v0FinderType);
+ Bool_t SetChi2GammaCut(Int_t chi2GammaCut);
+ Bool_t SetTPCdEdxCutPionLine(Int_t pidedxSigmaCut);
+ Bool_t SetTPCdEdxCutElectronLine(Int_t ededxSigmaCut);
+ Bool_t SetSinglePtCut(Int_t singlePtCut);
+ Bool_t SetTPCClusterCut(Int_t clsTPCCut);
+ Bool_t SetEtaCut(Int_t etaCut);
+ Bool_t SetMinMomPiondEdxCut(Int_t piMinMomdedxSigmaCut);
+ Bool_t SetMaxMomPiondEdxCut(Int_t piMaxMomdedxSigmaCut);
+ Bool_t SetLowPRejectionCuts(Int_t LowPRejectionSigmaCut);
+ Bool_t SetQtMaxCut(Int_t QtMaxCut);
+ Bool_t SetTOFElectronPIDCut(Int_t TOFelectronPID);
+ Bool_t SetTRDElectronCut(Int_t TRDElectronCut);
+ Bool_t SetCentralityMin(Int_t useCentrality);
+ Bool_t SetIsHeavyIon(Int_t isHeavyIon);
+ Bool_t SetCentralityMax(Int_t centralityBin);
+ Bool_t SetPhotonAsymmetryCut(Int_t doPhotonAsymmetryCut);
+ Bool_t SetRemovePileUp(Int_t removePileUp);
+ Bool_t SetMultiplicityMethod(Int_t multiplicityMethod);
+ Int_t SetSelectSpecialTrigger(Int_t selectSpecialTrigger);
+ Bool_t SetCosPAngleCut(Int_t cosCut);
+ Bool_t SetPsiPairCut(Int_t psiCut);
+ Bool_t SetSharedElectronCut(Int_t sharedElec);
+ Bool_t SetToCloseV0sCut(Int_t toClose);
+ Bool_t SetRejectExtraSignalsCut(Int_t extraSignal);
+ Bool_t SetDCARPhotonPrimVtxCut(Int_t DCARPhotonPrimVtx);
+ Bool_t SetDCAZPhotonPrimVtxCut(Int_t DCAZPhotonPrimVtx);
+ Bool_t SetInPlaneOutOfPlane(Int_t inOutPlane);
+
+ // Request Flags
- TString GetCutNumber();
-
- void GetCentralityRange(Double_t range[2]){range[0]=10*fCentralityMin;range[1]=10*fCentralityMax;};
-
- // Cut Selection
- Bool_t EventIsSelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent);
- Int_t IsEventAcceptedByConversionCut(AliConversionCuts *ReaderCuts, AliVEvent *InputEvent, AliMCEvent *MCEvent, Bool_t isHeavyIon);
- Bool_t PhotonIsSelected(AliConversionPhotonBase * photon, AliVEvent * event);
- Bool_t PhotonIsSelectedMC(TParticle *particle,AliStack *fMCStack,Bool_t checkForConvertedGamma=kTRUE);
- Bool_t PhotonIsSelectedAODMC(AliAODMCParticle *particle,TClonesArray *aodmcArray,Bool_t checkForConvertedGamma=kTRUE);
- Bool_t ElectronIsSelectedMC(TParticle *particle,AliStack *fMCStack);
- Bool_t TracksAreSelected(AliVTrack * negTrack, AliVTrack * posTrack);
- Bool_t MesonIsSelected(AliAODConversionMother *pi0,Bool_t IsSignal=kTRUE);
- Bool_t MesonIsSelectedMC(TParticle *fMCMother,AliStack *fMCStack, Bool_t bMCDaughtersInAcceptance=kFALSE);
-
- void InitAODpidUtil(Int_t type);
- Bool_t InitPIDResponse();
-
- void SetPIDResponse(AliPIDResponse * pidResponse) {fPIDResponse = pidResponse;}
- AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
-
- void PrintCuts();
-
- void InitCutHistograms(TString name="",Bool_t preCut = kTRUE);
- void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE){if(!fHistograms){InitCutHistograms(name,preCut);};}
- TList *GetCutHistograms(){return fHistograms;}
- void FillPhotonCutIndex(Int_t photoncut){if(hCutIndex)hCutIndex->Fill(photoncut);}
- void SetEtaShift(Double_t etaShift) {
- fEtaShift = etaShift;
- fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
- if(fEtaCutMin > -0.1)
- fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
- }
- void SetEtaShift(TString pPbOrPbp) {
- Double_t etaShift = 0.0;
- if(!pPbOrPbp.CompareTo("pPb")) etaShift = -0.465;
- else if(!pPbOrPbp.CompareTo("Pbp")) etaShift = 0.465;
-
- fEtaShift = etaShift;
- fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
- if(fEtaCutMin > -0.1)
- fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
- }
- Double_t GetEtaShift() {return fEtaShift;}
- Bool_t GetDoEtaShift(){return fDoEtaShift;}
- void DoEtaShift(Bool_t doEtaShift){fDoEtaShift = doEtaShift;}
- void GetCorrectEtaShiftFromPeriod(TString periodName);
-
- static AliVTrack * GetTrack(AliVEvent * event, Int_t label);
- static AliESDtrack *GetESDTrack(AliESDEvent * event, Int_t label);
-
- ///Cut functions
- Bool_t SpecificTrackCuts(AliAODTrack * negTrack, AliAODTrack * posTrack,Int_t &cutIndex);
- Bool_t SpecificTrackCuts(AliESDtrack * negTrack, AliESDtrack * posTrack,Int_t &cutIndex);
- Bool_t AcceptanceCuts(AliConversionPhotonBase *photon);
- Bool_t AcceptanceCut(TParticle *particle, TParticle * ePos,TParticle* eNeg);
- Bool_t dEdxCuts(AliVTrack * track);
- Bool_t ArmenterosQtCut(AliConversionPhotonBase *photon);
- Bool_t AsymmetryCut(AliConversionPhotonBase *photon,AliVEvent *event);
- Bool_t PIDProbabilityCut(AliConversionPhotonBase *photon, AliVEvent * event);
- Bool_t SelectV0Finder(Bool_t onfly){
- if(onfly == fUseOnFlyV0Finder) return kTRUE;
- else return kFALSE;
- }
- Bool_t PhotonCuts(AliConversionPhotonBase *photon,AliVEvent *event);
- Bool_t CorrectedTPCClusterCut(AliConversionPhotonBase *photon, AliVEvent * event);
- Bool_t PsiPairCut(const AliConversionPhotonBase * photon, Double_t deltaPhi) const;
- Bool_t CosinePAngleCut(const AliConversionPhotonBase * photon, AliVEvent * event) const;
- Bool_t RejectSharedElectronV0s(AliAODConversionPhoton* photon, Int_t nV0, Int_t nV0s);
- Bool_t RejectToCloseV0s(AliAODConversionPhoton* photon, TList *photons, Int_t nV0);
- Int_t IsParticleFromBGEvent(Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
- void GetNotRejectedParticles(Int_t rejection, TList *HeaderList, AliVEvent *MCEvent);
- void SetUseReweightingWithHistogramFromFile( Bool_t pi0reweight=kTRUE, Bool_t etareweight=kFALSE, Bool_t k0sreweight=kFALSE, TString path="$ALICE_ROOT/PWGGA/GammaConv/MCSpectraInput.root",
- TString histoNamePi0 = "", TString histoNameEta = "", TString histoNameK0s = "",
- TString fitNamePi0 = "", TString fitNameEta = "", TString fitNameK0s ="" ) {
- AliInfo(Form("enabled reweighting for: pi0 : %i, eta: %i, K0s: %i",pi0reweight, etareweight, k0sreweight));
- fDoReweightHistoMCPi0 = pi0reweight;
- fDoReweightHistoMCEta = etareweight;
- fDoReweightHistoMCK0s = k0sreweight;
- fPathTrFReweighting=path;
- fNameHistoReweightingPi0 =histoNamePi0;
- fNameHistoReweightingEta =histoNameEta;
- fNameHistoReweightingK0s =histoNameK0s;
- fNameFitDataPi0 =fitNamePi0;
- fNameFitDataEta =fitNameEta;
- fNameFitDataK0s =fitNameK0s;
-
- }
- void LoadReweightingHistosMCFromFile ();
- // Event Cuts
- Bool_t IsCentralitySelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent = NULL);
- Double_t GetCentrality(AliVEvent *event);
- Int_t GetNumberOfContributorsVtx(AliVEvent *event);
- Bool_t VertexZCut(AliVEvent *fInputEvent);
- Bool_t IsTriggerSelected(AliVEvent *fInputEvent);
- Bool_t HasV0AND(){return fHasV0AND;}
- Bool_t IsSDDFired(){return fIsSDDFired;}
- Int_t IsSpecialTrigger(){return fSpecialTrigger;}
- TString GetSpecialTriggerName(){return fSpecialTriggerName;}
-
- // Set Individual Cuts
- Bool_t SetRCut(Int_t RCut);
- Bool_t SetV0Finder(Int_t v0FinderType);
- Bool_t SetChi2GammaCut(Int_t chi2GammaCut);
- Bool_t SetTPCdEdxCutPionLine(Int_t pidedxSigmaCut);
- Bool_t SetTPCdEdxCutElectronLine(Int_t ededxSigmaCut);
- Bool_t SetSinglePtCut(Int_t singlePtCut);
- Bool_t SetTPCClusterCut(Int_t clsTPCCut);
- Bool_t SetEtaCut(Int_t etaCut);
- Bool_t SetMinMomPiondEdxCut(Int_t piMinMomdedxSigmaCut);
- Bool_t SetMaxMomPiondEdxCut(Int_t piMaxMomdedxSigmaCut);
- Bool_t SetLowPRejectionCuts(Int_t LowPRejectionSigmaCut);
- Bool_t SetQtMaxCut(Int_t QtMaxCut);
- Bool_t SetTOFElectronPIDCut(Int_t TOFelectronPID);
- Bool_t SetTRDElectronCut(Int_t TRDElectronCut);
- Bool_t SetCentralityMin(Int_t useCentrality);
- Bool_t SetIsHeavyIon(Int_t isHeavyIon);
- Bool_t SetCentralityMax(Int_t centralityBin);
- Bool_t SetPhotonAsymmetryCut(Int_t doPhotonAsymmetryCut);
- Bool_t SetRemovePileUp(Int_t removePileUp);
- Bool_t SetMultiplicityMethod(Int_t multiplicityMethod);
- Int_t SetSelectSpecialTrigger(Int_t selectSpecialTrigger);
- Bool_t SetCosPAngleCut(Int_t cosCut);
- Bool_t SetPsiPairCut(Int_t psiCut);
- Bool_t SetSharedElectronCut(Int_t sharedElec);
- Bool_t SetToCloseV0sCut(Int_t toClose);
- Bool_t SetRejectExtraSignalsCut(Int_t extraSignal);
- Bool_t SetDCARPhotonPrimVtxCut(Int_t DCARPhotonPrimVtx);
- Bool_t SetDCAZPhotonPrimVtxCut(Int_t DCAZPhotonPrimVtx);
+ Int_t IsHeavyIon(){return fIsHeavyIon;}
+ Int_t GetFirstTPCRow(Double_t radius);
+ Float_t GetWeightForMeson(TString period, Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
+
+ Bool_t UseElecSharingCut(){return fDoSharedElecCut;}
+ Bool_t UseToCloseV0sCut(){return fDoToCloseV0sCut;}
+ Int_t GetMultiplicityMethod(){return fMultiplicityMethod;}
+ Double_t GetEtaCut(){return fEtaCut;}
+ Int_t GetSignalRejection(){return fRejectExtraSignals;}
+ Int_t GetNAcceptedHeaders(){return fnHeaders; }
+ TString * GetAcceptedHeaderNames(){return fGeneratorNames;}
+ Int_t * GetAcceptedHeaderStart(){return fNotRejectedStart;}
+ Int_t * GetAcceptedHeaderEnd(){return fNotRejectedEnd;}
+ TList* GetAcceptedHeader(){return fHeaderList;}
- // Request Flags
-
- Int_t IsHeavyIon(){return fIsHeavyIon;}
- Int_t GetFirstTPCRow(Double_t radius);
- Float_t GetWeightForMeson(TString period, Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
-
- Bool_t UseElecSharingCut(){return fDoSharedElecCut;}
- Bool_t UseToCloseV0sCut(){return fDoToCloseV0sCut;}
- Int_t GetMultiplicityMethod(){return fMultiplicityMethod;}
- Double_t GetEtaCut(){return fEtaCut;}
- Int_t GetSignalRejection(){return fRejectExtraSignals;}
- Int_t GetNAcceptedHeaders(){return fnHeaders; }
- TString * GetAcceptedHeaderNames(){return fGeneratorNames;}
- Int_t * GetAcceptedHeaderStart(){return fNotRejectedStart;}
- Int_t * GetAcceptedHeaderEnd(){return fNotRejectedEnd;}
- TList* GetAcceptedHeader(){return fHeaderList;}
-
-
- protected:
- TList *fHistograms;
- TList *fHeaderList;
- AliPIDResponse *fPIDResponse;
-
-
- Int_t fEventQuality; // EventQuality
- //cuts
- Double_t fMaxR; //r cut
- Double_t fMinR; //r cut
- Double_t fEtaCut; //eta cut
- Double_t fEtaCutMin; //eta cut
- Double_t fPtCut; // pt cut
- Double_t fSinglePtCut; // pt cut for electron/positron
- Double_t fMaxZ; //z cut
- Double_t fMinClsTPC; // minimum clusters in the TPC
- Double_t fMinClsTPCToF; // minimum clusters to findable clusters
- Double_t fLineCutZRSlope; //linecut
- Double_t fLineCutZValue; //linecut
- Double_t fLineCutZRSlopeMin; //linecut
- Double_t fLineCutZValueMin; //linecut
- Double_t fChi2CutConversion; //chi2cut
- Double_t fPIDProbabilityCutNegativeParticle;
- Double_t fPIDProbabilityCutPositiveParticle;
- Bool_t fDodEdxSigmaCut; // flag to use the dEdxCut based on sigmas
- Bool_t fDoTOFsigmaCut; // flag to use TOF pid cut RRnewTOF
- Double_t fPIDTRDEfficiency; // required electron efficiency for TRD PID
- Bool_t fDoTRDPID; // flag to use TRD pid
- Double_t fPIDnSigmaAboveElectronLine; // sigma cut
- Double_t fPIDnSigmaBelowElectronLine; // sigma cut
- Double_t fTofPIDnSigmaAboveElectronLine; // sigma cut RRnewTOF
- Double_t fTofPIDnSigmaBelowElectronLine; // sigma cut RRnewTOF
- Double_t fPIDnSigmaAbovePionLine; // sigma cut
- Double_t fPIDnSigmaAbovePionLineHighPt; // sigma cut
- Double_t fPIDMinPnSigmaAbovePionLine; // sigma cut
- Double_t fPIDMaxPnSigmaAbovePionLine; // sigma cut
- Double_t fDoKaonRejectionLowP; // Kaon rejection at low p
- Double_t fDoProtonRejectionLowP; // Proton rejection at low p
- Double_t fDoPionRejectionLowP; // Pion rejection at low p
- Double_t fPIDnSigmaAtLowPAroundKaonLine; // sigma cut
- Double_t fPIDnSigmaAtLowPAroundProtonLine; // sigma cut
- Double_t fPIDnSigmaAtLowPAroundPionLine; // sigma cut
- Double_t fPIDMinPKaonRejectionLowP; // Momentum limit to apply kaon rejection
- Double_t fPIDMinPProtonRejectionLowP; // Momentum limit to apply proton rejection
- Double_t fPIDMinPPionRejectionLowP; // Momentum limit to apply proton rejection
- Bool_t fDoQtGammaSelection; // Select gammas using qtMax
- Bool_t fDoHighPtQtGammaSelection; // RRnew Select gammas using qtMax for high pT
- Double_t fQtMax; // Maximum Qt from Armenteros to select Gammas
- Double_t fHighPtQtMax; // RRnew Maximum Qt for High pT from Armenteros to select Gammas
- Double_t fPtBorderForQt; // RRnew
- Double_t fXVertexCut; //vertex cut
- Double_t fYVertexCut; //vertex cut
- Double_t fZVertexCut; // vertexcut
- Double_t fNSigmaMass; //nsigma cut
- Bool_t fUseEtaMinCut; //flag
- Bool_t fUseOnFlyV0Finder; //flag
- Bool_t fDoPhotonAsymmetryCut; // flag to use the PhotonAsymetryCut
- Double_t fMinPPhotonAsymmetryCut; // Min Momentum for Asymmetry Cut
- Double_t fMinPhotonAsymmetry; // Asymmetry Cut
- Int_t fIsHeavyIon; // flag for heavy ion
- Int_t fDetectorCentrality; // centrality detecotor V0M or CL1
- Int_t fModCentralityClass; // allows to select smaller centrality classes
- Double_t fMaxVertexZ; // max z offset of vertex
- Int_t fCentralityMin; // centrality selection lower bin value
- Int_t fCentralityMax; // centrality selection upper bin value
- Bool_t fUseCorrectedTPCClsInfo; // flag to use corrected tpc cl info
- Bool_t fUseTOFpid; // flag to use tof pid
- Int_t fMultiplicityMethod; // selected multiplicity method
- Int_t fSpecialTrigger; // flag
- Bool_t fRemovePileUp; //flag
- Float_t fOpeningAngle; // min opening angle for meson
- Float_t fPsiPairCut;
- Float_t fPsiPairDeltaPhiCut;
- Bool_t fDo2DPsiPair;
- Float_t fCosPAngleCut;
- Bool_t fDoToCloseV0sCut; //
- Int_t fRejectExtraSignals;//
- Double_t fminV0Dist; //
- Bool_t fDoSharedElecCut; //
- UInt_t fOfflineTriggerMask; // Task processes collision candidates only
- Bool_t fHasV0AND; // V0AND Offline Trigger
- Bool_t fIsSDDFired; // SDD FIRED to select with SDD events
- TRandom3 fRandom; //
- Int_t fElectronArraySize; // Size of electron array
- Int_t *fElectronLabelArray; //[fElectronArraySize]
- Double_t fDCAZPrimVtxCut; // cut value for the maximum distance in Z between the photon & the primary vertex [cm]
- Double_t fDCARPrimVtxCut; // cut value for the maximum distance in R between the photon & the primary vertex [cm]
- Float_t fConversionPointXArray; // Array with conversion Point x
- Float_t fConversionPointYArray; // Array with conversion Point y
- Float_t fConversionPointZArray; // Array with conversion Point z
- Int_t fnHeaders; // Number of Headers
- Int_t *fNotRejectedStart; //[fnHeaders]
- Int_t *fNotRejectedEnd; //[fnHeaders]
- TString *fGeneratorNames; //[fnHeaders]
- TObjString *fCutString; // cut number used for analysis
- AliAnalysisUtils *fUtils;
- Double_t fEtaShift;
- Bool_t fDoEtaShift; // Flag for Etashift
- Bool_t fDoReweightHistoMCPi0; // Flag for reweighting Pi0 input with histogram
- Bool_t fDoReweightHistoMCEta; // Flag for reweighting Eta input with histogram
- Bool_t fDoReweightHistoMCK0s; // Flag for reweighting K0s input with histogram
- TString fPathTrFReweighting; // Path for file used in reweighting
- TString fNameHistoReweightingPi0; //Histogram name for reweighting Pi0
- TString fNameHistoReweightingEta; //Histogram name for reweighting Eta
- TString fNameHistoReweightingK0s; //Histogram name for reweighting K0s
- TString fNameFitDataPi0; //Fit name for fit to spectrum of pi0s in Data
- TString fNameFitDataEta; //Fit name for fit to spectrum of etas in Data
- TString fNameFitDataK0s; //Fit name for fit to spectrum of k0s in Data
- // Histograms
- TH1F *hdEdxCuts; // bookkeeping for dEdx cuts
- TH2F *hTPCdEdxbefore; // TPC dEdx before cuts
- TH2F *hTPCdEdxafter; // TPC dEdx after cuts
- TH2F *hTPCdEdxSigbefore; // TPC Sigma dEdx before cuts
- TH2F *hTPCdEdxSigafter; // TPC Sigm dEdx after cuts
- TH2F *hTOFbefore; // TOF before cuts
- TH2F *hTOFSigbefore; // TOF Sigma before cuts
- TH2F *hTOFSigafter; // TOF Sigma after cuts
- TH2F *hPsiPairDeltaPhiafter; // TOF Sigma after cuts
- TH1F *hTrackCuts; // bookkeeping for track cuts
- TH1F *hPhotonCuts; // bookkeeping for photon specific cuts
- TH1F *hInvMassbefore; // e+e- inv mass distribution before cuts
- TH2F *hArmenterosbefore; // armenteros podolanski plot before cuts
- TH1F *hInvMassafter; // e+e- inv mass distribution after cuts
- TH2F *hArmenterosafter; // armenteros podolanski plot after cuts
- TH1F *hAcceptanceCuts; // bookkeeping for acceptance cuts
- TH1F *hCutIndex; // bookkeeping for cuts
- TH1F *hV0EventCuts; // bookkeeping for event selection cuts
- TH1F *hCentrality; // centrality distribution for selected events
- TH2F *hCentralityVsNumberOfPrimaryTracks; // centrality distribution for selected events
- TH1F *hVertexZ; // vertex z distribution for selected events
- TH1F *hTriggerClass; //fired offline trigger class
- TH1F *hTriggerClassSelected; //selected fired offline trigger class
- TH1D *hReweightMCHistPi0; //histogram input for reweighting Pi0
- TH1D *hReweightMCHistEta; //histogram input for reweighting Eta
- TH1D *hReweightMCHistK0s; //histogram input for reweighting K0s
- TF1 *fFitDataPi0; //fit to pi0 spectrum in Data
- TF1 *fFitDataEta; //fit to eta spectrum in Data
- TF1 *fFitDataK0s; //fit to K0s spectrum in Data
- Bool_t fPreSelCut; // Flag for preselection cut used in V0Reader
- Bool_t fTriggerSelectedManually; // Flag for manual trigger selection
- TString fSpecialTriggerName; // Name of the Special Triggers
+
+ protected:
+ TList *fHistograms;
+ TList *fHeaderList;
+ AliPIDResponse *fPIDResponse;
+
+
+ Int_t fEventQuality; // EventQuality
+ //cuts
+ Double_t fMaxR; //r cut
+ Double_t fMinR; //r cut
+ Double_t fEtaCut; //eta cut
+ Double_t fEtaCutMin; //eta cut
+ Double_t fPtCut; // pt cut
+ Double_t fSinglePtCut; // pt cut for electron/positron
+ Double_t fMaxZ; //z cut
+ Double_t fMinClsTPC; // minimum clusters in the TPC
+ Double_t fMinClsTPCToF; // minimum clusters to findable clusters
+ Double_t fLineCutZRSlope; //linecut
+ Double_t fLineCutZValue; //linecut
+ Double_t fLineCutZRSlopeMin; //linecut
+ Double_t fLineCutZValueMin; //linecut
+ Double_t fChi2CutConversion; //chi2cut
+ Double_t fPIDProbabilityCutNegativeParticle;
+ Double_t fPIDProbabilityCutPositiveParticle;
+ Bool_t fDodEdxSigmaCut; // flag to use the dEdxCut based on sigmas
+ Bool_t fDoTOFsigmaCut; // flag to use TOF pid cut RRnewTOF
+ Double_t fPIDTRDEfficiency; // required electron efficiency for TRD PID
+ Bool_t fDoTRDPID; // flag to use TRD pid
+ Double_t fPIDnSigmaAboveElectronLine; // sigma cut
+ Double_t fPIDnSigmaBelowElectronLine; // sigma cut
+ Double_t fTofPIDnSigmaAboveElectronLine; // sigma cut RRnewTOF
+ Double_t fTofPIDnSigmaBelowElectronLine; // sigma cut RRnewTOF
+ Double_t fPIDnSigmaAbovePionLine; // sigma cut
+ Double_t fPIDnSigmaAbovePionLineHighPt; // sigma cut
+ Double_t fPIDMinPnSigmaAbovePionLine; // sigma cut
+ Double_t fPIDMaxPnSigmaAbovePionLine; // sigma cut
+ Double_t fDoKaonRejectionLowP; // Kaon rejection at low p
+ Double_t fDoProtonRejectionLowP; // Proton rejection at low p
+ Double_t fDoPionRejectionLowP; // Pion rejection at low p
+ Double_t fPIDnSigmaAtLowPAroundKaonLine; // sigma cut
+ Double_t fPIDnSigmaAtLowPAroundProtonLine; // sigma cut
+ Double_t fPIDnSigmaAtLowPAroundPionLine; // sigma cut
+ Double_t fPIDMinPKaonRejectionLowP; // Momentum limit to apply kaon rejection
+ Double_t fPIDMinPProtonRejectionLowP; // Momentum limit to apply proton rejection
+ Double_t fPIDMinPPionRejectionLowP; // Momentum limit to apply proton rejection
+ Bool_t fDoQtGammaSelection; // Select gammas using qtMax
+ Bool_t fDoHighPtQtGammaSelection; // RRnew Select gammas using qtMax for high pT
+ Double_t fQtMax; // Maximum Qt from Armenteros to select Gammas
+ Double_t fHighPtQtMax; // RRnew Maximum Qt for High pT from Armenteros to select Gammas
+ Double_t fPtBorderForQt; // RRnew
+ Double_t fXVertexCut; //vertex cut
+ Double_t fYVertexCut; //vertex cut
+ Double_t fZVertexCut; // vertexcut
+ Double_t fNSigmaMass; //nsigma cut
+ Bool_t fUseEtaMinCut; //flag
+ Bool_t fUseOnFlyV0Finder; //flag
+ Bool_t fDoPhotonAsymmetryCut; // flag to use the PhotonAsymetryCut
+ Double_t fMinPPhotonAsymmetryCut; // Min Momentum for Asymmetry Cut
+ Double_t fMinPhotonAsymmetry; // Asymmetry Cut
+ Int_t fIsHeavyIon; // flag for heavy ion
+ Int_t fDetectorCentrality; // centrality detecotor V0M or CL1
+ Int_t fModCentralityClass; // allows to select smaller centrality classes
+ Double_t fMaxVertexZ; // max z offset of vertex
+ Int_t fCentralityMin; // centrality selection lower bin value
+ Int_t fCentralityMax; // centrality selection upper bin value
+ Bool_t fUseCorrectedTPCClsInfo; // flag to use corrected tpc cl info
+ Bool_t fUseTOFpid; // flag to use tof pid
+ Int_t fMultiplicityMethod; // selected multiplicity method
+ Int_t fSpecialTrigger; // flag
+ Bool_t fRemovePileUp; //flag
+ Float_t fOpeningAngle; // min opening angle for meson
+ Float_t fPsiPairCut;
+ Float_t fPsiPairDeltaPhiCut;
+ Bool_t fDo2DPsiPair;
+ Float_t fCosPAngleCut;
+ Bool_t fDoToCloseV0sCut; //
+ Int_t fRejectExtraSignals;//
+ Double_t fminV0Dist; //
+ Bool_t fDoSharedElecCut; //
+ UInt_t fOfflineTriggerMask; // Task processes collision candidates only
+ Bool_t fHasV0AND; // V0AND Offline Trigger
+ Bool_t fIsSDDFired; // SDD FIRED to select with SDD events
+ TRandom3 fRandom; //
+ Int_t fElectronArraySize; // Size of electron array
+ Int_t *fElectronLabelArray; //[fElectronArraySize]
+ Double_t fDCAZPrimVtxCut; // cut value for the maximum distance in Z between the photon & the primary vertex [cm]
+ Double_t fDCARPrimVtxCut; // cut value for the maximum distance in R between the photon & the primary vertex [cm]
+ Int_t fInPlaneOutOfPlane; // In-Plane Out-Of Plane Analysis
+ Float_t fConversionPointXArray; // Array with conversion Point x
+ Float_t fConversionPointYArray; // Array with conversion Point y
+ Float_t fConversionPointZArray; // Array with conversion Point z
+ Int_t fnHeaders; // Number of Headers
+ Int_t *fNotRejectedStart; //[fnHeaders]
+ Int_t *fNotRejectedEnd; //[fnHeaders]
+ TString *fGeneratorNames; //[fnHeaders]
+ TObjString *fCutString; // cut number used for analysis
+ AliAnalysisUtils *fUtils;
+ Double_t fEtaShift;
+ Bool_t fDoEtaShift; // Flag for Etashift
+ Bool_t fDoReweightHistoMCPi0; // Flag for reweighting Pi0 input with histogram
+ Bool_t fDoReweightHistoMCEta; // Flag for reweighting Eta input with histogram
+ Bool_t fDoReweightHistoMCK0s; // Flag for reweighting K0s input with histogram
+ TString fPathTrFReweighting; // Path for file used in reweighting
+ TString fNameHistoReweightingPi0; //Histogram name for reweighting Pi0
+ TString fNameHistoReweightingEta; //Histogram name for reweighting Eta
+ TString fNameHistoReweightingK0s; //Histogram name for reweighting K0s
+ TString fNameFitDataPi0; //Fit name for fit to spectrum of pi0s in Data
+ TString fNameFitDataEta; //Fit name for fit to spectrum of etas in Data
+ TString fNameFitDataK0s; //Fit name for fit to spectrum of k0s in Data
+ // Histograms
+ TH1F *hdEdxCuts; // bookkeeping for dEdx cuts
+ TH2F *hTPCdEdxbefore; // TPC dEdx before cuts
+ TH2F *hTPCdEdxafter; // TPC dEdx after cuts
+ TH2F *hTPCdEdxSigbefore; // TPC Sigma dEdx before cuts
+ TH2F *hTPCdEdxSigafter; // TPC Sigm dEdx after cuts
+ TH2F *hTOFbefore; // TOF before cuts
+ TH2F *hTOFSigbefore; // TOF Sigma before cuts
+ TH2F *hTOFSigafter; // TOF Sigma after cuts
+ TH2F *hPsiPairDeltaPhiafter; // TOF Sigma after cuts
+ TH1F *hTrackCuts; // bookkeeping for track cuts
+ TH1F *hPhotonCuts; // bookkeeping for photon specific cuts
+ TH1F *hInvMassbefore; // e+e- inv mass distribution before cuts
+ TH2F *hArmenterosbefore; // armenteros podolanski plot before cuts
+ TH1F *hInvMassafter; // e+e- inv mass distribution after cuts
+ TH2F *hArmenterosafter; // armenteros podolanski plot after cuts
+ TH1F *hAcceptanceCuts; // bookkeeping for acceptance cuts
+ TH1F *hCutIndex; // bookkeeping for cuts
+ TH1F *hV0EventCuts; // bookkeeping for event selection cuts
+ TH1F *hCentrality; // centrality distribution for selected events
+ TH2F *hCentralityVsNumberOfPrimaryTracks; // centrality distribution for selected events
+ TH1F *hVertexZ; // vertex z distribution for selected events
+ TH1F *hEventPlanePhi; //EventPlaneAngle Minus Photon Angle
+ TH1F *hTriggerClass; //fired offline trigger class
+ TH1F *hTriggerClassSelected; //selected fired offline trigger class
+ TH1D *hReweightMCHistPi0; //histogram input for reweighting Pi0
+ TH1D *hReweightMCHistEta; //histogram input for reweighting Eta
+ TH1D *hReweightMCHistK0s; //histogram input for reweighting K0s
+ TF1 *fFitDataPi0; //fit to pi0 spectrum in Data
+ TF1 *fFitDataEta; //fit to eta spectrum in Data
+ TF1 *fFitDataK0s; //fit to K0s spectrum in Data
+ Bool_t fPreSelCut; // Flag for preselection cut used in V0Reader
+ Bool_t fTriggerSelectedManually; // Flag for manual trigger selection
+ TString fSpecialTriggerName; // Name of the Special Triggers
private:
- ClassDef(AliConversionCuts,5)
+ ClassDef(AliConversionCuts,6)
};
}\r
\r
///________________________________________________________________________\r
-Bool_t AliDalitzElectronCuts::UpdateCutString() {\r
+Bool_t AliDalitzElectronCuts::UpdateCutString(cutIds cutID, Int_t value) {\r
///Update the cut string (if it has been created yet)\r
\r
if(fCutString && fCutString->GetString().Length() == kNCuts) {\r
case kededxSigmaITSCut:\r
if( SetITSdEdxCutElectronLine(value)) { //NOTE SetITSdEdxCutElectronLine: To be implemented \r
fCuts[kededxSigmaITSCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kededxSigmaTPCCut:\r
if( SetTPCdEdxCutElectronLine(value)) { //NOTE SetITSdEdxCutElectronLine: To be implemented \r
fCuts[kededxSigmaTPCCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kpidedxSigmaTPCCut:\r
if( SetTPCdEdxCutPionLine(value)) { //NOTE SetITSdEdxCutPionLine: To be implemented\r
fCuts[kpidedxSigmaTPCCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kpiMinMomdedxSigmaTPCCut:\r
if( SetMinMomPiondEdxTPCCut(value)) {\r
fCuts[kpiMinMomdedxSigmaTPCCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kpiMaxMomdedxSigmaTPCCut:\r
if( SetMaxMomPiondEdxTPCCut(value)) {\r
fCuts[kpiMaxMomdedxSigmaTPCCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kLowPRejectionSigmaCut:\r
if( SetLowPRejectionCuts(value) ) {\r
fCuts[kLowPRejectionSigmaCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kTOFelectronPID:\r
if( SetTOFElectronPIDCut(value)) {\r
fCuts[kTOFelectronPID] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
case kclsITSCut:\r
if( SetITSClusterCut(value) ) {\r
fCuts[kclsITSCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE; \r
} else return kFALSE;\r
case kclsTPCCut:\r
if( SetTPCClusterCut(value)) {\r
fCuts[kclsTPCCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case ketaCut:\r
if( SetEtaCut(value)) {\r
fCuts[ketaCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
case kptCut: \r
if( SetPtCut(value)) {\r
fCuts[kptCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kDCACut:\r
if( SetDCACut(value)) {\r
fCuts[kDCACut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kPsiPair:\r
if( SetPsiPairCut(value)) {\r
fCuts[kPsiPair] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kRejectSharedElecGamma:\r
if( SetRejectSharedElecGamma(value)) {\r
fCuts[kRejectSharedElecGamma] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kBackgroundScheme:\r
if( SetBackgroundScheme(value)) {\r
fCuts[kBackgroundScheme] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kNumberOfRotations:\r
if( SetNumberOfRotations(value)) {\r
fCuts[kNumberOfRotations] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
case kmassCut:\r
if( SetMassCut(value)) {\r
fCuts[kmassCut] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
case kWeights:\r
if( SetDoWeights(value)) {\r
fCuts[kWeights] = value;\r
- UpdateCutString();\r
+ UpdateCutString(cutID, value);\r
return kTRUE;\r
} else return kFALSE;\r
\r
{ // Set Cut\r
switch(clsTPCCut){\r
case 0: // 0\r
- fMinClsTPC= 0;\r
+ fMinClsTPC= 0.;\r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
break;\r
case 1: // 70\r
- fMinClsTPC= 70;\r
+ fMinClsTPC= 70.;\r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
break;\r
case 2: // 80\r
- fMinClsTPC= 80;\r
+ fMinClsTPC= 80.;\r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
break;\r
case 3: // 100\r
- fMinClsTPC= 100;\r
+ fMinClsTPC= 100.;\r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
break;\r
case 4: // 0% of findable clusters\r
- fMinClsTPC= 70; \r
+ fMinClsTPC= 70.; \r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
fMinClsTPCToF= 0.0;\r
fUseCorrectedTPCClsInfo=0;\r
break;\r
case 5: // 35% of findable clusters\r
- fMinClsTPC = 70; \r
+ fMinClsTPC = 70.; \r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
fMinClsTPCToF= 0.35;\r
fUseCorrectedTPCClsInfo=0;\r
break;\r
case 6: // 60% of findable clusters\r
- fMinClsTPC= 70; \r
+ fMinClsTPC= 70.; \r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
fMinClsTPCToF= 0.6;\r
fUseCorrectedTPCClsInfo=0;\r
break;\r
case 7: // 70% of findable clusters\r
- fMinClsTPC= 70; \r
+ fMinClsTPC= 70.; \r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
fMinClsTPCToF= 0.7;\r
fUseCorrectedTPCClsInfo=0;\r
break;\r
- case 8: fMinClsTPC = 0; \r
+ case 8: fMinClsTPC = 0.; \r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
fMinClsTPCToF= 0.35;\r
fUseCorrectedTPCClsInfo=0;\r
break;\r
case 9: // 35% of findable clusters\r
- fMinClsTPC = 70; \r
+ fMinClsTPC = 70.; \r
fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
fMinClsTPCToF= 0.35;\r
fUseCorrectedTPCClsInfo=1;\r
Bool_t SetCutIds(TString cutString);
Int_t fCuts[kNCuts];
Bool_t SetCut(cutIds cutID, Int_t cut);
- Bool_t UpdateCutString();
+ Bool_t UpdateCutString(cutIds cutID, Int_t value);
static const char * fgkCutNames[kNCuts];
Double_t fPsiPairCut;
Double_t fDeltaPhiCutMin;
Double_t fDeltaPhiCutMax;
- Int_t fMinClsTPC; // minimum clusters in the TPC
+ Double_t fMinClsTPC; // minimum clusters in the TPC
Double_t fMinClsTPCToF; // minimum clusters to findable clusters
Bool_t fDodEdxSigmaITSCut; // flag to use the dEdxCut ITS based on sigmas
Bool_t fDodEdxSigmaTPCCut; // flag to use the dEdxCut TPC based on sigmas
else if(collisionSystem == 8 || collisionSystem == 9){ //pPb
- fBinLimitsArrayMultiplicity[0] = 0.;
- fBinLimitsArrayMultiplicity[1] = 7.5;
- fBinLimitsArrayMultiplicity[2] = 16.5;
- fBinLimitsArrayMultiplicity[3] = 29.5;
- fBinLimitsArrayMultiplicity[4] = 500.;
-
- if(centMin == 0 && centMax == 20){
- fBinLimitsArrayMultiplicity[0] = 0.;
- fBinLimitsArrayMultiplicity[1] = 31.5;
- fBinLimitsArrayMultiplicity[2] = 40.5;
- fBinLimitsArrayMultiplicity[3] = 50.5;
- fBinLimitsArrayMultiplicity[4] = 500.;
- }
- else if(centMin == 20 && centMax == 40){
- fBinLimitsArrayMultiplicity[0] = 0.;
- fBinLimitsArrayMultiplicity[1] = 19.5;
- fBinLimitsArrayMultiplicity[2] = 25.5;
- fBinLimitsArrayMultiplicity[3] = 32.5;
- fBinLimitsArrayMultiplicity[4] = 500.;
- }
- else if(centMin == 40 && centMax == 60){
- fBinLimitsArrayMultiplicity[0] = 0.;
- fBinLimitsArrayMultiplicity[1] = 12.5;
- fBinLimitsArrayMultiplicity[2] = 16.5;
- fBinLimitsArrayMultiplicity[3] = 22.5;
- fBinLimitsArrayMultiplicity[4] = 500.;
- }
- else if(centMin == 60 && centMax == 80){
- fBinLimitsArrayMultiplicity[0] = 0.;
- fBinLimitsArrayMultiplicity[1] = 5.5;
- fBinLimitsArrayMultiplicity[2] = 9.5;
- fBinLimitsArrayMultiplicity[3] = 13.5;
- fBinLimitsArrayMultiplicity[4] = 500.;
- }
+ fBinLimitsArrayMultiplicity[0] = 0.;
+ fBinLimitsArrayMultiplicity[1] = 7.5;
+ fBinLimitsArrayMultiplicity[2] = 16.5;
+ fBinLimitsArrayMultiplicity[3] = 29.5;
+ fBinLimitsArrayMultiplicity[4] = 500.;
+
+ if(centMin == 0 && centMax == 20){
+ fBinLimitsArrayMultiplicity[0] = 0.;
+ fBinLimitsArrayMultiplicity[1] = 31.5;
+ fBinLimitsArrayMultiplicity[2] = 40.5;
+ fBinLimitsArrayMultiplicity[3] = 50.5;
+ fBinLimitsArrayMultiplicity[4] = 500.;
+ } else if(centMin == 20 && centMax == 40){
+ fBinLimitsArrayMultiplicity[0] = 0.;
+ fBinLimitsArrayMultiplicity[1] = 19.5;
+ fBinLimitsArrayMultiplicity[2] = 25.5;
+ fBinLimitsArrayMultiplicity[3] = 32.5;
+ fBinLimitsArrayMultiplicity[4] = 500.;
+ } else if(centMin == 40 && centMax == 60){
+ fBinLimitsArrayMultiplicity[0] = 0.;
+ fBinLimitsArrayMultiplicity[1] = 12.5;
+ fBinLimitsArrayMultiplicity[2] = 16.5;
+ fBinLimitsArrayMultiplicity[3] = 22.5;
+ fBinLimitsArrayMultiplicity[4] = 500.;
+ } else if(centMin == 60 && centMax == 80){
+ fBinLimitsArrayMultiplicity[0] = 0.;
+ fBinLimitsArrayMultiplicity[1] = 5.5;
+ fBinLimitsArrayMultiplicity[2] = 9.5;
+ fBinLimitsArrayMultiplicity[3] = 13.5;
+ fBinLimitsArrayMultiplicity[4] = 500.;
+ } else if(centMin == 60 && centMax == 100){
+ fBinLimitsArrayMultiplicity[0] = 0.;
+ fBinLimitsArrayMultiplicity[1] = 2.5;
+ fBinLimitsArrayMultiplicity[2] = 6.5;
+ fBinLimitsArrayMultiplicity[3] = 11.5;
+ fBinLimitsArrayMultiplicity[4] = 500.;
+ }
}
}
else{// pp or pPb V0 Mult
return fNBinsMultiplicity-1;
}
-void AliGammaConversionAODBGHandler::AddEvent(TList* const eventGammas,Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity){
+void AliGammaConversionAODBGHandler::AddEvent(TList* const eventGammas,Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue){
+
// see header file for documantation
// cout<<"Entering the AddEvent function"<<endl;
fBGEventVertex[z][m][eventCounter].fX = xvalue;
fBGEventVertex[z][m][eventCounter].fY = yvalue;
fBGEventVertex[z][m][eventCounter].fZ = zvalue;
+ fBGEventVertex[z][m][eventCounter].fEP = epvalue;
//first clear the vector
// cout<<"Size of vector: "<<fBGEvents[z][m][eventCounter].size()<<endl;
Double_t fX;
Double_t fY;
Double_t fZ;
+ Double_t fEP;
};
typedef struct GammaConversionVertex GammaConversionVertex; //!
Int_t GetMultiplicityBinIndex(Int_t mult) const;
- void AddEvent(TList* const eventGammas, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity);
+ void AddEvent(TList* const eventGammas, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity, Double_t epvalue = -100);
void AddElectronEvent(TClonesArray* const eventENeg, Double_t zvalue, Int_t multiplicity);
Int_t GetNBGEvents()const {return fNEvents;}
Double_t *fBinLimitsArrayMultiplicity;//! bin limit multiplicity array
AliGammaConversionBGVector fBGEvents; //background events
AliGammaConversionBGVector fBGEventsENeg; //background electron events
- ClassDef(AliGammaConversionAODBGHandler,2)
+ ClassDef(AliGammaConversionAODBGHandler,3)
};
#endif
if(dataset == 1){
// Old cut string, no longer compatible with AliConversionCuts
- // analysiscut="900177009350113211200001000000000";
+ // analysiscut="9001770093501132112000010000000000";
// New cut string as of April 2013
- analysiscut= "100000006008400000150000000";
- analysiscutB="100000016008400000150000000";
+ analysiscut= "1000000060084000001500000000";
+ analysiscutB="1000000160084000001500000000";
} else if (dataset == 2){
- analysiscut= "800000006008400000150000000";
- analysiscutB="800000016008400000150000000";
+ analysiscut= "8000000060084000001500000000";
+ analysiscutB="8000000160084000001500000000";
} else{
// analysiscut="
- analysiscut ="000000006008400100150000000";
- analysiscutB="000000016008400100150000000";
+ analysiscut ="0000000060084001001500000000";
+ analysiscutB="0000000160084001001500000000";
}
//========= Add V0 Reader to ANALYSIS manager =====
//========= Set Cutnumber for V0Reader ================================
- TString ConvCutnumber = "108000000008400100150000000"; //Online V0 finder
+ TString ConvCutnumber = "1080000000084001001500000000"; //Online V0 finder
TString ElecCuts = "9000620000000200000"; //Electron Cuts
//903162000550020210
//900054000000020000
if ( trainConfig == 1 ) {
- ConvCutarray[0] = "124000104209297100720000000"; MesonCutarray[0] = "01522045009000"; ElecCutarray[0] = "9051620025510252170"; //PbPb 20-40% kAny
- ConvCutarray[1] = "146000104209297100720000000"; MesonCutarray[1] = "01522045009000"; ElecCutarray[1] = "9051620025510252170"; //PbPb 40-60% kAny
- ConvCutarray[2] = "168000104209297100720000000"; MesonCutarray[2] = "01522045009000"; ElecCutarray[2] = "9051620025510252170"; //PbPb 60-80% kAny
+ ConvCutarray[0] = "1240001042092971007200000000"; MesonCutarray[0] = "01522045009000"; ElecCutarray[0] = "9051620025510252170"; //PbPb 20-40% kAny
+ ConvCutarray[1] = "1460001042092971007200000000"; MesonCutarray[1] = "01522045009000"; ElecCutarray[1] = "9051620025510252170"; //PbPb 40-60% kAny
+ ConvCutarray[2] = "1680001042092971007200000000"; MesonCutarray[2] = "01522045009000"; ElecCutarray[2] = "9051620025510252170"; //PbPb 60-80% kAny
} else if ( trainConfig == 2 ) {
- ConvCutarray[0] = "524000104209297100322000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0] = "9051620025510252170"; //PbPb 20-40% kAny Alpha cut 0.6
- ConvCutarray[1] = "546000104209297100120000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1] = "9051620025510252170"; //PbPb 40-60% kAny Alpha cut 0.8
- ConvCutarray[2] = "568000104209297100120000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2] = "9051620025510252170"; //PbPb 60-80% kAny Alpha cut 0.85
+ ConvCutarray[0] = "5240001042092971003220000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0] = "9051620025510252170"; //PbPb 20-40% kAny Alpha cut 0.6
+ ConvCutarray[1] = "5460001042092971001200000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1] = "9051620025510252170"; //PbPb 40-60% kAny Alpha cut 0.8
+ ConvCutarray[2] = "5680001042092971001200000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2] = "9051620025510252170"; //PbPb 60-80% kAny Alpha cut 0.85
} else if ( trainConfig == 3 ) {
- ConvCutarray[0] = "524000104209297100322000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Alpha cut 0.6
- ConvCutarray[1] = "546000104209297100120000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Alpha cut 0.8
- ConvCutarray[2] = "568000104209297100120000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Alpha cut 0.85
+ ConvCutarray[0] = "5240001042092971003220000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Alpha cut 0.6
+ ConvCutarray[1] = "5460001042092971001200000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Alpha cut 0.8
+ ConvCutarray[2] = "5680001042092971001200000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Alpha cut 0.85
} else if ( trainConfig == 4 ) {
- ConvCutarray[0] = "524000203209297100322000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent ( 0.7, 1.2)
- ConvCutarray[1] = "546000203209297100120000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent ( 0.7, 1.2)
- ConvCutarray[2] = "568000203209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80 only added signals alpha cut Pt dependent ( 0.80, 1.2)
+ ConvCutarray[0] = "5240002032092971003220000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent ( 0.7, 1.2)
+ ConvCutarray[1] = "5460002032092971001200000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent ( 0.7, 1.2)
+ ConvCutarray[2] = "5680002032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80 only added signals alpha cut Pt dependent ( 0.80, 1.2)
} else if ( trainConfig == 5 ) {
- ConvCutarray[0] = "524000103209297100322000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)
- ConvCutarray[1] = "546000103209297100120000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)
- ConvCutarray[2] = "568000103209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.8, 1.2)
+ ConvCutarray[0] = "5240001032092971003220000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)
+ ConvCutarray[1] = "5460001032092971001200000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)
+ ConvCutarray[2] = "5680001032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.8, 1.2)
} else if ( trainConfig == 6 ) {
- ConvCutarray[0] = "524000203209297100322000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent( 0.65, 1.2)
- ConvCutarray[1] = "546000203209297100120000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent( 0.65, 1.2)
- ConvCutarray[2] = "568000203209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80 only added signals alpha cut Pt dependent( 0.80, 1.2)
+ ConvCutarray[0] = "5240002032092971003220000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent( 0.65, 1.2)
+ ConvCutarray[1] = "5460002032092971001200000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 only added signals alpha cut Pt dependent( 0.65, 1.2)
+ ConvCutarray[2] = "5680002032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80 only added signals alpha cut Pt dependent( 0.80, 1.2)
} else if ( trainConfig == 7 ) {
- ConvCutarray[0] = "524000103209297100322000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
- ConvCutarray[1] = "546000103209297100120000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
- ConvCutarray[2] = "568000103209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.80, 1.2)
+ ConvCutarray[0] = "5240001032092971003220000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0] = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
+ ConvCutarray[1] = "5460001032092971001200000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1] = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
+ ConvCutarray[2] = "5680001032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2] = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.80, 1.2)
}
}
//========= Set Cutnumber for V0Reader ================================
- TString ConvCutnumber = "800000006008400100150000000"; //Online V0 finder
+ TString ConvCutnumber = "8000000060084001001500000000"; //Online V0 finder
TString ElecCuts = "9000540000000200000"; //Electron Cuts
Bool_t doEtaShift = kFALSE;
if( trainConfig == 1 ) {
- ConvCutarray[0] = "800000008209360300720000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
- ConvCutarray[1] = "800000008209360300720000000"; ElecCutarray[1] = "9047540025810261170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + Single Pt primary > 0.100 GeV
- ConvCutarray[2] = "800000008209460300720000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + dEdx electron gamma -6 ,7 sigmas
- ConvCutarray[3] = "800000008209360300720300000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 00-100 do Aysemtri cut
- ConvCutarray[4] = "800000008209360300720000000"; ElecCutarray[4] = "9051540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 00-100
- ConvCutarray[5] = "800000008209360300720000000"; ElecCutarray[5] = "9051540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 00-100 Standard cut + dEdx primary -3, 5 and 3.0 , -10 pion rejection
+ ConvCutarray[0] = "8000000082093603007200000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
+ ConvCutarray[1] = "8000000082093603007200000000"; ElecCutarray[1] = "9047540025810261170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + Single Pt primary > 0.100 GeV
+ ConvCutarray[2] = "8000000082094603007200000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + dEdx electron gamma -6 ,7 sigmas
+ ConvCutarray[3] = "8000000082093603007203000000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 00-100 do Aysemtri cut
+ ConvCutarray[4] = "8000000082093603007200000000"; ElecCutarray[4] = "9051540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 00-100
+ ConvCutarray[5] = "8000000082093603007200000000"; ElecCutarray[5] = "9051540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 00-100 Standard cut + dEdx primary -3, 5 and 3.0 , -10 pion rejection
} else if( trainConfig == 2 ) {
- ConvCutarray[0] = "800000008209360300720000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
- ConvCutarray[1] = "802000008209360300720000000"; ElecCutarray[1] = "9047540025810262170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-20
- ConvCutarray[2] = "824000008209360300720000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 20-40
- ConvCutarray[3] = "846000008209360300720000000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 40-60
- ConvCutarray[4] = "868000008209360300720000000"; ElecCutarray[4] = "9047540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 60-80
- ConvCutarray[5] = "860000008209360300720000000"; ElecCutarray[5] = "9047540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 60-100
+ ConvCutarray[0] = "8000000082093603007200000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
+ ConvCutarray[1] = "8020000082093603007200000000"; ElecCutarray[1] = "9047540025810262170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-20
+ ConvCutarray[2] = "8240000082093603007200000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 20-40
+ ConvCutarray[3] = "8460000082093603007200000000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 40-60
+ ConvCutarray[4] = "8680000082093603007200000000"; ElecCutarray[4] = "9047540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 60-80
+ ConvCutarray[5] = "8600000082093603007200000000"; ElecCutarray[5] = "9047540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 60-100
}
//========= Set Cutnumber for V0Reader ================================
- TString cutnumber = "0000000000084001001500000";
+ TString cutnumber = "00000000000840010015000000";
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
//========= Add V0 Reader to ANALYSIS manager if not yet existent =====
if(trainConfig == 1){
//TOF PID
- ConvCutarray[0] = "0000011002093663027800000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210"; //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
- ConvCutarray[1] = "0000011002093663027800000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210"; //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
+ ConvCutarray[0] = "00000110020936630278000000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210"; //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
+ ConvCutarray[1] = "00000110020936630278000000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210"; //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
} else if (trainConfig == 2) {
//TOF PID
- ConvCutarray[0] = "0000011002093663027800000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210"; //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
- ConvCutarray[1] = "0000011002093663027800000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210"; //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
+ ConvCutarray[0] = "00000110020936630278000000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210"; //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
+ ConvCutarray[1] = "00000110020936630278000000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210"; //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
} else if (trainConfig == 3) {
//TOF PID
- ConvCutarray[0] = "0000011002093663027800000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210"; //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
- ConvCutarray[1] = "0000011002093663027800000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210"; //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
+ ConvCutarray[0] = "00000110020936630278000000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210"; //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
+ ConvCutarray[1] = "00000110020936630278000000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210"; //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut, DCAxy Pt Dep, No Mass(e+,e-) FindCluster > 0.0
} else {
Error(Form("GammaConvDalitzV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
return;
void AddTask_GammaConvV1_PbPb( Int_t trainConfig = 1, //change different set of cuts
Bool_t isMC = kFALSE, //run MC
- Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
- Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+ Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+ Int_t enableQAPhotonTask = 0, // enable additional QA task
TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
Bool_t doWeighting = kFALSE, //enable Weighting
TString cutnumberAODBranch = "1000000060084000001500000"
}
//========= Set Cutnumber for V0Reader ================================
- TString cutnumber = "100000000008400100150000000";
+ TString cutnumber = "1000000000084001001500000000";
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
//========= Add V0 Reader to ANALYSIS manager if not yet existent =====
if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
TString *mesonCutArray = new TString[numberOfCuts];
if (trainConfig == 1){ // Standard cuts
- cutarray[ 0] = "601000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
- cutarray[ 1] = "612000104209297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
- cutarray[ 2] = "501000104209297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
- cutarray[ 3] = "512000104209297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
- cutarray[ 4] = "502000104209297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+ cutarray[ 0] = "6010001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+ cutarray[ 1] = "6120001042092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+ cutarray[ 2] = "5010001042092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+ cutarray[ 3] = "5120001042092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+ cutarray[ 4] = "5020001042092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
} else if (trainConfig == 2) { // Standard cuts
- cutarray[ 0] = "524000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
- cutarray[ 1] = "546000104209297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
- cutarray[ 2] = "568000104209297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
- cutarray[ 3] = "548000104209297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
- cutarray[ 4] = "549000104209297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+ cutarray[ 0] = "5240001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+ cutarray[ 1] = "5460001042092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+ cutarray[ 2] = "5680001042092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+ cutarray[ 3] = "5480001042092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
+ cutarray[ 4] = "5490001042092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
} else if (trainConfig == 3) { // Standard cuts only added signals
- cutarray[ 0] = "601000204209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
- cutarray[ 1] = "612000204209297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
- cutarray[ 2] = "501000204209297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
- cutarray[ 3] = "512000204209297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
- cutarray[ 4] = "502000204209297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+ cutarray[ 0] = "6010002042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+ cutarray[ 1] = "6120002042092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+ cutarray[ 2] = "5010002042092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+ cutarray[ 3] = "5120002042092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+ cutarray[ 4] = "5020002042092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
} else if (trainConfig == 4) { // Standard cuts only added signals
- cutarray[ 0] = "524000204209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
- cutarray[ 1] = "546000204209297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
- cutarray[ 2] = "568000204209297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
- cutarray[ 3] = "548000204209297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40%
- cutarray[ 4] = "549000204209297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+ cutarray[ 0] = "5240002042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+ cutarray[ 1] = "5460002042092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+ cutarray[ 2] = "5680002042092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+ cutarray[ 3] = "5480002042092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40%
+ cutarray[ 4] = "5490002042092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
} else if (trainConfig == 5){ // R-minCut 7.5 cm
- cutarray[ 0] = "601000104909297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
- cutarray[ 1] = "612000104909297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
- cutarray[ 2] = "501000104909297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
- cutarray[ 3] = "512000104909297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
- cutarray[ 4] = "502000104909297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+ cutarray[ 0] = "6010001049092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+ cutarray[ 1] = "6120001049092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+ cutarray[ 2] = "5010001049092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+ cutarray[ 3] = "5120001049092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+ cutarray[ 4] = "5020001049092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
} else if (trainConfig == 6) { // R-minCut 7.5 cm
- cutarray[ 0] = "524000104909297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
- cutarray[ 1] = "546000104909297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
- cutarray[ 2] = "568000104909297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
- cutarray[ 3] = "548000104909297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
- cutarray[ 4] = "549000104909297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+ cutarray[ 0] = "5240001049092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+ cutarray[ 1] = "5460001049092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+ cutarray[ 2] = "5680001049092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+ cutarray[ 3] = "5480001049092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
+ cutarray[ 4] = "5490001049092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
} else if (trainConfig == 7) {// R-minCut 7.5 cm
- cutarray[ 0] = "601000204909297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
- cutarray[ 1] = "612000204909297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
- cutarray[ 2] = "501000204909297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
- cutarray[ 3] = "512000204909297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
- cutarray[ 4] = "502000204909297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+ cutarray[ 0] = "6010002049092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+ cutarray[ 1] = "6120002049092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+ cutarray[ 2] = "5010002049092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+ cutarray[ 3] = "5120002049092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+ cutarray[ 4] = "5020002049092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
} else if (trainConfig == 8) { // R-minCut 7.5 cm
- cutarray[ 0] = "524000204009297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
- cutarray[ 1] = "546000204909297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
- cutarray[ 2] = "568000204909297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
- cutarray[ 3] = "548000204909297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40%
- cutarray[ 4] = "549000204909297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+ cutarray[ 0] = "5240002040092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+ cutarray[ 1] = "5460002049092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+ cutarray[ 2] = "5680002049092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+ cutarray[ 3] = "5480002049092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40%
+ cutarray[ 4] = "5490002049092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
} else if (trainConfig == 9){ // R-minCut 12.5 cm
- cutarray[ 0] = "601000104809297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
- cutarray[ 1] = "612000104809297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
- cutarray[ 2] = "501000104809297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
- cutarray[ 3] = "512000104809297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
- cutarray[ 4] = "502000104809297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+ cutarray[ 0] = "6010001048092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+ cutarray[ 1] = "6120001048092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+ cutarray[ 2] = "5010001048092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+ cutarray[ 3] = "5120001048092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+ cutarray[ 4] = "5020001048092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
} else if (trainConfig == 10) { // R-minCut 12.5 cm
- cutarray[ 0] = "524000104809297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
- cutarray[ 1] = "546000104809297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
- cutarray[ 2] = "568000104809297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
- cutarray[ 3] = "548000104809297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
- cutarray[ 4] = "549000104809297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+ cutarray[ 0] = "5240001048092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+ cutarray[ 1] = "5460001048092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+ cutarray[ 2] = "5680001048092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+ cutarray[ 3] = "5480001048092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
+ cutarray[ 4] = "5490001048092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
} else if (trainConfig == 11) {// R-minCut 12.5 cm
- cutarray[ 0] = "601000204809297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
- cutarray[ 1] = "612000204809297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
- cutarray[ 2] = "501000204809297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
- cutarray[ 3] = "512000204809297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
- cutarray[ 4] = "502000204809297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+ cutarray[ 0] = "6010002048092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+ cutarray[ 1] = "6120002048092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+ cutarray[ 2] = "5010002048092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+ cutarray[ 3] = "5120002048092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+ cutarray[ 4] = "5020002048092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
} else if (trainConfig == 12) { // R-minCut 12.5 cm
- cutarray[ 0] = "524000204009297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
- cutarray[ 1] = "546000204809297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
- cutarray[ 2] = "568000204809297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
- cutarray[ 3] = "548000204809297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40%
- cutarray[ 4] = "549000204809297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+ cutarray[ 0] = "5240002040092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+ cutarray[ 1] = "5460002048092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+ cutarray[ 2] = "5680002048092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+ cutarray[ 3] = "5480002048092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40%
+ cutarray[ 4] = "5490002048092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
} else if (trainConfig == 13){ // eta 0.65 (new standard), y = 0.6 (new Standard)
- cutarray[ 0] = "601000103209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000103209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000103209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000103209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000103209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010001032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120001032092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010001032092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120001032092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020001032092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 14) { // eta 0.65 (new standard), y = 0.6 (new Standard)
- cutarray[ 0] = "524000103209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000103209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000103209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000103209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
- cutarray[ 4] = "549000103209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240001032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460001032092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680001032092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480001032092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+ cutarray[ 4] = "5490001032092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 15) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "601000203209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000203209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000203209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000203209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000203209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010002032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120002032092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010002032092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120002032092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020002032092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 16) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "524000203209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000203209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000203209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000203209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
- cutarray[ 4] = "549000203209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240002032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460002032092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680002032092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480002032092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
+ cutarray[ 4] = "5490002032092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 17){ // eta 0.6, y = 0.6 (new Standard)
- cutarray[ 0] = "601000101209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000101209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000101209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000101209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000101209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010001012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120001012092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010001012092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120001012092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020001012092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 18) { // eta 0.6, y = 0.6 (new Standard)
- cutarray[ 0] = "524000101209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000101209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000101209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000101209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
- cutarray[ 4] = "549000101209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240001012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460001012092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680001012092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480001012092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+ cutarray[ 4] = "5490001012092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 19) { // eta 0.6, y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "601000201209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000201209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000201209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000201209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000201209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010002012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120002012092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010002012092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120002012092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020002012092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 20) { // eta 0.6, y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "524000201209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000201209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000201209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000201209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
- cutarray[ 4] = "549000201209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240002012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460002012092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680002012092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480002012092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
+ cutarray[ 4] = "5490002012092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 21){ // eta 0.7, y = 0.6 (new Standard)
- cutarray[ 0] = "601000107209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000107209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000107209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000107209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000107209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010001072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120001072092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010001072092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120001072092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020001072092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 22) { // eta 0.7, y = 0.6 (new Standard)
- cutarray[ 0] = "524000107209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000107209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000107209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000107209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
- cutarray[ 4] = "549000107209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240001072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460001072092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680001072092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480001072092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+ cutarray[ 4] = "5490001072092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 23) { // eta 0.7, y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "601000207209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000207209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000207209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000207209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000207209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010002072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120002072092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010002072092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120002072092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020002072092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 24) { // eta 0.7, y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "524000207209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000207209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000207209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000207209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
- cutarray[ 4] = "549000207209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240002072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460002072092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680002072092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480002072092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
+ cutarray[ 4] = "5490002072092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 25){ // eta 0.5, y = 0.6 (new Standard)
- cutarray[ 0] = "601000105209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000105209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000105209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000105209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000105209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010001052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120001052092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010001052092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120001052092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020001052092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 26) { // eta 0.5, y = 0.6 (new Standard)
- cutarray[ 0] = "524000105209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000105209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000105209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000105209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
- cutarray[ 4] = "549000105209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240001052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460001052092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680001052092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480001052092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+ cutarray[ 4] = "5490001052092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 27) { // eta 0.5, y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "601000205209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
- cutarray[ 1] = "612000205209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
- cutarray[ 2] = "501000205209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
- cutarray[ 3] = "512000205209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
- cutarray[ 4] = "502000205209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+ cutarray[ 0] = "6010002052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+ cutarray[ 1] = "6120002052092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+ cutarray[ 2] = "5010002052092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+ cutarray[ 3] = "5120002052092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+ cutarray[ 4] = "5020002052092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
} else if (trainConfig == 28) { // eta 0.5, y = 0.6 (new Standard) cuts only added signals
- cutarray[ 0] = "524000205209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
- cutarray[ 1] = "546000205209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
- cutarray[ 2] = "568000205209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
- cutarray[ 3] = "548000205209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
- cutarray[ 4] = "549000205209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+ cutarray[ 0] = "5240002052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+ cutarray[ 1] = "5460002052092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+ cutarray[ 2] = "5680002052092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+ cutarray[ 3] = "5480002052092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40%
+ cutarray[ 4] = "5490002052092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
} else if (trainConfig == 29){ // eta 0.65 (new standard), y = 0.6 (new Standard) pt dependent alpha
- cutarray[ 0] = "601000103209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
- cutarray[ 1] = "612000103209297002322000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
- cutarray[ 2] = "501000103209297002322000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
- cutarray[ 3] = "512000103209297002322000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
- cutarray[ 4] = "502000103209297002322000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
+ cutarray[ 0] = "6010001032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
+ cutarray[ 1] = "6120001032092970023220000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
+ cutarray[ 2] = "5010001032092970023220000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
+ cutarray[ 3] = "5120001032092970023220000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
+ cutarray[ 4] = "5020001032092970023220000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
} else if (trainConfig == 30) { // eta 0.65 (new standard), y = 0.6 (new Standard) pt dependent alpha
- cutarray[ 0] = "524000103209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
- cutarray[ 1] = "546000103209297002322000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
- cutarray[ 2] = "568000103209297002322000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
- cutarray[ 3] = "548000103209297002322000000"; mesonCutArray[ 3] = "01523025009000"; // 40-80%
- cutarray[ 4] = "549000103209297002322000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
+ cutarray[ 0] = "5240001032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
+ cutarray[ 1] = "5460001032092970023220000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
+ cutarray[ 2] = "5680001032092970023220000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
+ cutarray[ 3] = "5480001032092970023220000000"; mesonCutArray[ 3] = "01523025009000"; // 40-80%
+ cutarray[ 4] = "5490001032092970023220000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
} else if (trainConfig == 31) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals, pt dependent alpha
- cutarray[ 0] = "601000203209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
- cutarray[ 1] = "612000203209297002322000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
- cutarray[ 2] = "501000203209297002322000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
- cutarray[ 3] = "512000203209297002322000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
- cutarray[ 4] = "502000203209297002322000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
+ cutarray[ 0] = "6010002032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
+ cutarray[ 1] = "6120002032092970023220000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
+ cutarray[ 2] = "5010002032092970023220000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
+ cutarray[ 3] = "5120002032092970023220000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
+ cutarray[ 4] = "5020002032092970023220000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
} else if (trainConfig == 32) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals, pt dependent alpha
- cutarray[ 0] = "524000203209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
- cutarray[ 1] = "546000203209297002322000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
- cutarray[ 2] = "568000203209297002322000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
- cutarray[ 3] = "548000203209297002322000000"; mesonCutArray[ 3] = "01523025009000"; // 20-40%
- cutarray[ 4] = "549000203209297002322000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
+ cutarray[ 0] = "5240002032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
+ cutarray[ 1] = "5460002032092970023220000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
+ cutarray[ 2] = "5680002032092970023220000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
+ cutarray[ 3] = "5480002032092970023220000000"; mesonCutArray[ 3] = "01523025009000"; // 20-40%
+ cutarray[ 4] = "5490002032092970023220000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
} else if (trainConfig == 33){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601000100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612000100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501000100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512000100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502000100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6010001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6120001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5010001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5120001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5020001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 34) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524000100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546000100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568000100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548000100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549000100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5240001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5460001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5680001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5480001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5490001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else if (trainConfig == 35){ // Standard cuts, eta 1.4, only to be run on data
- cutarray[ 0] = "601000102209297002322000000"; mesonCutArray[ 0] = "01520045009000"; // 0-5%
- cutarray[ 1] = "612000102209297002322000000"; mesonCutArray[ 1] = "01520045009000"; // 5-10%
- cutarray[ 2] = "501000102209297002322000000"; mesonCutArray[ 2] = "01520045009000"; // 0-10%
- cutarray[ 3] = "512000102209297002322000000"; mesonCutArray[ 3] = "01520045009000"; // 10-20%
- cutarray[ 4] = "502000102209297002322000000"; mesonCutArray[ 4] = "01520045009000"; // 0-20%
+ cutarray[ 0] = "6010001022092970023220000000"; mesonCutArray[ 0] = "01520045009000"; // 0-5%
+ cutarray[ 1] = "6120001022092970023220000000"; mesonCutArray[ 1] = "01520045009000"; // 5-10%
+ cutarray[ 2] = "5010001022092970023220000000"; mesonCutArray[ 2] = "01520045009000"; // 0-10%
+ cutarray[ 3] = "5120001022092970023220000000"; mesonCutArray[ 3] = "01520045009000"; // 10-20%
+ cutarray[ 4] = "5020001022092970023220000000"; mesonCutArray[ 4] = "01520045009000"; // 0-20%
} else if (trainConfig == 36) { // Standard cuts, eta 1.4, only to be run on data
- cutarray[ 0] = "524000102209297002322000000"; mesonCutArray[ 0] = "01520045009000"; // 20-40%
- cutarray[ 1] = "546000102209297002322000000"; mesonCutArray[ 1] = "01520065009000"; // 40-60%
- cutarray[ 2] = "568000102209297002322000000"; mesonCutArray[ 2] = "01520065009000"; // 60-80%
- cutarray[ 3] = "548000102209297002322000000"; mesonCutArray[ 3] = "01520065009000"; // 40-80%
- cutarray[ 4] = "549000102209297002322000000"; mesonCutArray[ 4] = "01520065009000"; // 40-90%
+ cutarray[ 0] = "5240001022092970023220000000"; mesonCutArray[ 0] = "01520045009000"; // 20-40%
+ cutarray[ 1] = "5460001022092970023220000000"; mesonCutArray[ 1] = "01520065009000"; // 40-60%
+ cutarray[ 2] = "5680001022092970023220000000"; mesonCutArray[ 2] = "01520065009000"; // 60-80%
+ cutarray[ 3] = "5480001022092970023220000000"; mesonCutArray[ 3] = "01520065009000"; // 40-80%
+ cutarray[ 4] = "5490001022092970023220000000"; mesonCutArray[ 4] = "01520065009000"; // 40-90%
} else if (trainConfig == 37){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601400100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612400100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501400100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512400100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502400100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6014001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6124001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5014001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5124001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5024001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 38) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524400100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546400100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568400100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548400100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549400100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5244001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5464001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5684001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5484001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5494001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else if (trainConfig == 39){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601500100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612500100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501500100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512500100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502500100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6015001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6125001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5015001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5125001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5025001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 40) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524500100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546500100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568500100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548500100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549500100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5245001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5465001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5685001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5485001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5495001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else if (trainConfig == 41){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601600100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612600100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501600100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512600100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502600100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6016001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6126001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5016001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5126001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5026001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 42) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524600100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546600100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568600100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548600100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549600100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5246001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5466001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5686001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5486001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5496001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else if (trainConfig == 43){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601700100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612700100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501700100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512700100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502700100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6017001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6127001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5017001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5127001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5027001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 44) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524700100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546700100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568700100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548700100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549700100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5247001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5467001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5687001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5487001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5497001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else if (trainConfig == 45){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601800100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612800100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501800100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512800100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502800100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6018001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6128001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5018001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5128001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5028001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 46) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524800100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546800100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568800100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548800100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549800100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5248001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5468001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5688001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5488001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5498001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else if (trainConfig == 47){ // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "601900100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
- cutarray[ 1] = "612900100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
- cutarray[ 2] = "501900100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
- cutarray[ 3] = "512900100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
- cutarray[ 4] = "502900100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+ cutarray[ 0] = "6019001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+ cutarray[ 1] = "6129001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+ cutarray[ 2] = "5019001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+ cutarray[ 3] = "5129001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+ cutarray[ 4] = "5029001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
} else if (trainConfig == 48) { // Standard cuts, eta 0.9, only to be run on data
- cutarray[ 0] = "524900100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
- cutarray[ 1] = "546900100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
- cutarray[ 2] = "568900100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
- cutarray[ 3] = "548900100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
- cutarray[ 4] = "549900100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
+ cutarray[ 0] = "5249001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+ cutarray[ 1] = "5469001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+ cutarray[ 2] = "5689001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+ cutarray[ 3] = "5489001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+ cutarray[ 4] = "5499001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%
} else {
Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
task->SetMesonCutList(numberOfCuts,MesonCutList);
task->SetMoveParticleAccordingToVertex(kTRUE);
task->SetDoMesonAnalysis(kTRUE);
- if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
- if (enableQAPhotonTask) task->SetDoPhotonQA(kTRUE); //Attention new switch small for Photon QA
+ task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+ task->SetDoPhotonQA(enableQAPhotonTask); //Attention new switch small for Photon QA
//connect containers
AliAnalysisDataContainer *coutput =
void AddTask_GammaConvV1_PbPb2( Int_t trainConfig = 1, //change different set of cuts
Bool_t isMC = kFALSE, //run MC
- Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
- Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+ Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+ Int_t enableQAPhotonTask = 0, // enable additional QA task
TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
Bool_t doWeighting = kFALSE, //enable Weighting
TString cutnumberAODBranch = "1000000060084000001500000"
}
//========= Set Cutnumber for V0Reader ================================
- TString cutnumber = "100000000008400100150000000";
+ TString cutnumber = "1000000000084001001500000000";
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
//========= Add V0 Reader to ANALYSIS manager if not yet existent =====
if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
TString *mesonCutArray = new TString[numberOfCuts];
if (trainConfig == 1){
- cutarray[ 0] = "601000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";
+ cutarray[ 0] = "6010001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";
} else if (trainConfig == 2) {
- cutarray[ 0] = "612000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";
+ cutarray[ 0] = "6120001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";
} else if (trainConfig == 3) {
- cutarray[ 0] = "501000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";
+ cutarray[ 0] = "5010001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";
} else if (trainConfig == 4) {
- cutarray[ 0] = "502000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";
+ cutarray[ 0] = "5020001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";
} else if (trainConfig == 5) {
- cutarray[ 0] = "512000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";
+ cutarray[ 0] = "5120001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";
} else if (trainConfig == 6) {
- cutarray[ 0] = "524000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";
+ cutarray[ 0] = "5240001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";
} else if (trainConfig == 7) {
- cutarray[ 0] = "546000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5460001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 8) {
- cutarray[ 0] = "548000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5480001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 9) {
- cutarray[ 0] = "545000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5450001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 10) {
- cutarray[ 0] = "556000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5560001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 11) {
- cutarray[ 0] = "568000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5680001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 12) {
- cutarray[ 0] = "567000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5670001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 13) {
- cutarray[ 0] = "578000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5780001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 14) {
- cutarray[ 0] = "469000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "4690001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 15) {
- cutarray[ 0] = "589000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+ cutarray[ 0] = "5890001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
} else if (trainConfig == 16){
- cutarray[ 0] = "601000203209297002322000000"; mesonCutArray[ 0] = "01523045009000";
+ cutarray[ 0] = "6010002032092970023220000000"; mesonCutArray[ 0] = "01523045009000";
} else if (trainConfig == 17) {
- cutarray[ 0] = "612000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";
+ cutarray[ 0] = "6120001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";
} else if (trainConfig == 18) {
- cutarray[ 0] = "501000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";
+ cutarray[ 0] = "5010001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";
} else if (trainConfig == 19) {
- cutarray[ 0] = "502000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";
+ cutarray[ 0] = "5020001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";
} else if (trainConfig == 20) {
- cutarray[ 0] = "512000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";
+ cutarray[ 0] = "5120001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";
} else if (trainConfig == 21) {
- cutarray[ 0] = "524000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";
+ cutarray[ 0] = "5240001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";
} else if (trainConfig == 22) {
- cutarray[ 0] = "546000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5460001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 23) {
- cutarray[ 0] = "548000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5480001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 24) {
- cutarray[ 0] = "545000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5450001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 25) {
- cutarray[ 0] = "556000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5560001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 26) {
- cutarray[ 0] = "568000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5680001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 27) {
- cutarray[ 0] = "567000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5670001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 28) {
- cutarray[ 0] = "578000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5780001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 29) {
- cutarray[ 0] = "469000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "4690001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 30) {
- cutarray[ 0] = "589000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+ cutarray[ 0] = "5890001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
} else if (trainConfig == 31) {
- cutarray[ 0] = "508000100209297002322000000"; mesonCutArray[ 0] = "01525065009000";
+ cutarray[ 0] = "5080001002092970023220000000"; mesonCutArray[ 0] = "01525065009000";
} else {
Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
return;
task->SetMesonCutList(numberOfCuts,MesonCutList);
task->SetMoveParticleAccordingToVertex(kTRUE);
task->SetDoMesonAnalysis(kTRUE);
- if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
- if (enableQAPhotonTask) task->SetDoPhotonQA(kTRUE); //Attention new switch small for Photon QA
+ task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+ task->SetDoPhotonQA(enableQAPhotonTask); //Attention new switch small for Photon QA
//connect containers
AliAnalysisDataContainer *coutput =
void AddTask_GammaConvV1_pPb( Int_t trainConfig = 1, //change different set of cuts
Bool_t isMC = kFALSE, //run MC
- Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
- Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+ Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+ Int_t enableQAPhotonTask = 0, // enable additional QA task
TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
TString cutnumberAODBranch = "8000000060084000001500000" // cutnumber for AOD branch
) {
}
//========= Set Cutnumber for V0Reader ================================
- TString cutnumber = "800000006008400100150000000";
+ TString cutnumber = "8000000060084001001500000000";
Bool_t doEtaShift = kFALSE;
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
//========= Add V0 Reader to ANALYSIS manager if not yet existent =====
// Shifting in pPb direction
doEtaShiftIndCuts = kTRUE;
stringShift = "pPb";
- cutarray[ 0] = "800000108209317200329000000"; mesonCutArray[ 0] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 1] = "802000108209317200329000000"; mesonCutArray[ 1] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 2] = "824000108209317200329000000"; mesonCutArray[ 2] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 3] = "846000108209317200329000000"; mesonCutArray[ 3] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 4] = "868000108209317200329000000"; mesonCutArray[ 4] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 5] = "860000108209317200329000000"; mesonCutArray[ 5] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 0] = "8000001082093172003290000000"; mesonCutArray[ 0] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 1] = "8020001082093172003290000000"; mesonCutArray[ 1] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 2] = "8240001082093172003290000000"; mesonCutArray[ 2] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 3] = "8460001082093172003290000000"; mesonCutArray[ 3] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 4] = "8680001082093172003290000000"; mesonCutArray[ 4] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 5] = "8600001082093172003290000000"; mesonCutArray[ 5] = "01629045009000"; //standard cut Pi0 pPb
} else if (trainConfig == 2) {
// doEtaShiftIndCuts = kTRUE;
// stringShift = "pPb";
- cutarray[ 0] = "800000107209317200329000000"; mesonCutArray[ 0] = "01627045009000";
- cutarray[ 1] = "802000107209317200329000000"; mesonCutArray[ 1] = "01627045009000";
- cutarray[ 2] = "824000107209317200329000000"; mesonCutArray[ 2] = "01627045009000";
- cutarray[ 3] = "846000107209317200329000000"; mesonCutArray[ 3] = "01627045009000";
- cutarray[ 4] = "868000107209317200329000000"; mesonCutArray[ 4] = "01627045009000";
- cutarray[ 5] = "860000107209317200329000000"; mesonCutArray[ 5] = "01627045009000";
+ cutarray[ 0] = "8000001072093172003290000000"; mesonCutArray[ 0] = "01627045009000";
+ cutarray[ 1] = "8020001072093172003290000000"; mesonCutArray[ 1] = "01627045009000";
+ cutarray[ 2] = "8240001072093172003290000000"; mesonCutArray[ 2] = "01627045009000";
+ cutarray[ 3] = "8460001072093172003290000000"; mesonCutArray[ 3] = "01627045009000";
+ cutarray[ 4] = "8680001072093172003290000000"; mesonCutArray[ 4] = "01627045009000";
+ cutarray[ 5] = "8600001072093172003290000000"; mesonCutArray[ 5] = "01627045009000";
} else if (trainConfig == 3) {
// doEtaShiftIndCuts = kTRUE;
// stringShift = "pPb";
- cutarray[ 0] = "800000100209317200329000000"; mesonCutArray[ 0] = "01621035009000";
- cutarray[ 1] = "802000100209317200329000000"; mesonCutArray[ 1] = "01621035009000";
- cutarray[ 2] = "824000100209317200329000000"; mesonCutArray[ 2] = "01621035009000";
- cutarray[ 3] = "846000100209317200329000000"; mesonCutArray[ 3] = "01621035009000";
- cutarray[ 4] = "868000100209317200329000000"; mesonCutArray[ 4] = "01621035009000";
- cutarray[ 5] = "860000100209317200329000000"; mesonCutArray[ 5] = "01621035009000";
+ cutarray[ 0] = "8000001002093172003290000000"; mesonCutArray[ 0] = "01621035009000";
+ cutarray[ 1] = "8020001002093172003290000000"; mesonCutArray[ 1] = "01621035009000";
+ cutarray[ 2] = "8240001002093172003290000000"; mesonCutArray[ 2] = "01621035009000";
+ cutarray[ 3] = "8460001002093172003290000000"; mesonCutArray[ 3] = "01621035009000";
+ cutarray[ 4] = "8680001002093172003290000000"; mesonCutArray[ 4] = "01621035009000";
+ cutarray[ 5] = "8600001002093172003290000000"; mesonCutArray[ 5] = "01621035009000";
} else if(trainConfig == 4){
// Shifting in pPb direction
doEtaShiftIndCuts = kTRUE;
stringShift = "pPb";
- cutarray[ 0] = "800000208209317200329000000"; mesonCutArray[ 0] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 1] = "802000208209317200329000000"; mesonCutArray[ 1] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 2] = "824000208209317200329000000"; mesonCutArray[ 2] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 3] = "846000208209317200329000000"; mesonCutArray[ 3] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 4] = "868000208209317200329000000"; mesonCutArray[ 4] = "01629045009000"; //standard cut Pi0 pPb
- cutarray[ 5] = "860000208209317200329000000"; mesonCutArray[ 5] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 0] = "8000002082093172003290000000"; mesonCutArray[ 0] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 1] = "8020002082093172003290000000"; mesonCutArray[ 1] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 2] = "8240002082093172003290000000"; mesonCutArray[ 2] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 3] = "8460002082093172003290000000"; mesonCutArray[ 3] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 4] = "8680002082093172003290000000"; mesonCutArray[ 4] = "01629045009000"; //standard cut Pi0 pPb
+ cutarray[ 5] = "8600002082093172003290000000"; mesonCutArray[ 5] = "01629045009000"; //standard cut Pi0 pPb
} else if (trainConfig == 5) {
// doEtaShiftIndCuts = kTRUE;
// stringShift = "pPb";
- cutarray[ 0] = "800000207209317200329000000"; mesonCutArray[ 0] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 1] = "802000207209317200329000000"; mesonCutArray[ 1] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 2] = "824000207209317200329000000"; mesonCutArray[ 2] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 3] = "846000207209317200329000000"; mesonCutArray[ 3] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 4] = "868000207209317200329000000"; mesonCutArray[ 4] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 5] = "860000207209317200329000000"; mesonCutArray[ 5] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 0] = "8000002072093172003290000000"; mesonCutArray[ 0] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 1] = "8020002072093172003290000000"; mesonCutArray[ 1] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 2] = "8240002072093172003290000000"; mesonCutArray[ 2] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 3] = "8460002072093172003290000000"; mesonCutArray[ 3] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 4] = "8680002072093172003290000000"; mesonCutArray[ 4] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 5] = "8600002072093172003290000000"; mesonCutArray[ 5] = "01627045009000"; //standard cut Pi0 pPb Single pT Cut changed
} else if (trainConfig == 6) {
// doEtaShiftIndCuts = kTRUE;
// stringShift = "pPb";
- cutarray[ 0] = "800000200209317200329000000"; mesonCutArray[ 0] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 1] = "802000200209317200329000000"; mesonCutArray[ 1] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 2] = "824000200209317200329000000"; mesonCutArray[ 2] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 3] = "846000200209317200329000000"; mesonCutArray[ 3] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 4] = "868000200209317200329000000"; mesonCutArray[ 4] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
- cutarray[ 5] = "860000200209317200329000000"; mesonCutArray[ 5] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 0] = "8000002002093172003290000000"; mesonCutArray[ 0] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 1] = "8020002002093172003290000000"; mesonCutArray[ 1] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 2] = "8240002002093172003290000000"; mesonCutArray[ 2] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 3] = "8460002002093172003290000000"; mesonCutArray[ 3] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 4] = "8680002002093172003290000000"; mesonCutArray[ 4] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
+ cutarray[ 5] = "8600002002093172003290000000"; mesonCutArray[ 5] = "01621035009000"; //standard cut Pi0 pPb Single pT Cut changed
} else {
Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
task->SetMesonCutList(numberOfCuts,MesonCutList);
task->SetMoveParticleAccordingToVertex(kTRUE);
task->SetDoMesonAnalysis(kTRUE);
- if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
- if (enableQAMesonTask) task->SetDoPhotonQA(kTRUE); //Attention new switch small for Photon QA
+ task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+ task->SetDoPhotonQA(enableQAMesonTask); //Attention new switch small for Photon QA
//connect containers
AliAnalysisDataContainer *coutput =
void AddTask_GammaConvV1_pp( Int_t trainConfig = 1, //change different set of cuts
Bool_t isMC = kFALSE, //run MC
- Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
- Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+ Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+ Int_t enableQAPhotonTask = 0, // enable additional QA task
TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
TString cutnumberAODBranch = "0000000060084001001500000" // cutnumber for AOD branch
) {
}
//========= Set Cutnumber for V0Reader ================================
- TString cutnumber = "000000000208400000220000000";
+ TString cutnumber = "0000000002084000002200000000";
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
//========= Add V0 Reader to ANALYSIS manager if not yet existent =====
TString *mesonCutArray = new TString[numberOfCuts];
if(trainConfig == 1){
- cutarray[ 0] = "000001200209366300380000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only boxes
- cutarray[ 1] = "000101200209366300380000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND , only boxes
- cutarray[ 2] = "000001200209326000380000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
- cutarray[ 3] = "000001200209326000380000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
+ cutarray[ 0] = "0000012002093663003800000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only boxes
+ cutarray[ 1] = "0001012002093663003800000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND , only boxes
+ cutarray[ 2] = "0000012002093260003800000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
+ cutarray[ 3] = "0000012002093260003800000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
} else if (trainConfig == 2) {
- cutarray[ 0] = "000001100209366300380000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only Minbias MC
- cutarray[ 1] = "000101100209366300380000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND
- cutarray[ 2] = "000001100209326000380000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV
- cutarray[ 3] = "000001100209326000380000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
+ cutarray[ 0] = "0000011002093663003800000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only Minbias MC
+ cutarray[ 1] = "0001011002093663003800000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND
+ cutarray[ 2] = "0000011002093260003800000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV
+ cutarray[ 3] = "0000011002093260003800000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
} else if (trainConfig == 3) {
- cutarray[ 0] = "000201100209366300380000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Minbias MC
- cutarray[ 1] = "000301100209366300380000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND , only Minbias MC
- cutarray[ 2] = "000201200209366300380000000"; mesonCutArray[2] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Boxes MC
- cutarray[ 3] = "000301200209366300380000000"; mesonCutArray[3] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND, only Boxes MC
+ cutarray[ 0] = "0002011002093663003800000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Minbias MC
+ cutarray[ 1] = "0003011002093663003800000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND , only Minbias MC
+ cutarray[ 2] = "0002012002093663003800000000"; mesonCutArray[2] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Boxes MC
+ cutarray[ 3] = "0003012002093663003800000000"; mesonCutArray[3] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND, only Boxes MC
} else {
Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
return;
task->SetMesonCutList(numberOfCuts,MesonCutList);
task->SetMoveParticleAccordingToVertex(kTRUE);
task->SetDoMesonAnalysis(kTRUE);
- if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
- if (enableQAPhotonTask) task->SetDoPhotonQA(kTRUE); //Attention new switch small for Photon QA
+ task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+ task->SetDoPhotonQA(enableQAPhotonTask); //Attention new switch small for Photon QA
//connect containers
AliAnalysisDataContainer *coutput =
-AliAnalysisTask *AddTask_GammaConvdPhi_PbPb(TString v0Cut = "109000200209297002322000000",
+AliAnalysisTask *AddTask_GammaConvdPhi_PbPb(TString v0Cut = "1090002002092970023220000000",
TString pionCut = "01522045009000",
TString photoncut = "",
Bool_t pbpb = kTRUE) {
-AliAnalysisTask *AddTask_GammaConvdPhi_pp(TString v0Cut = "000001100209366300380000000",
+AliAnalysisTask *AddTask_GammaConvdPhi_pp(TString v0Cut = "0000011002093663003800000000",
TString pionCut = "01631031009000",
Bool_t pbpb = kFALSE) {
TString *tcutarray =new TString[7];
TString *wcutarray = new TString[7];
- //"000001100209366300380000000",
- // "000001100209366300380000000"; // -4 5 sigma electron line
- tcutarray[0] = "000001100209266300380000000"; // -3 5 sigma
- wcutarray[0] = "000001100209166300380000000"; //dedex -5 -5 sigma
+ //"0000011002093663003800000000",
+ // "0000011002093663003800000000"; // -4 5 sigma electron line
+ tcutarray[0] = "0000011002092663003800000000"; // -3 5 sigma
+ wcutarray[0] = "0000011002091663003800000000"; //dedex -5 -5 sigma
- // "000001100209366300380000000"; // 663: 2 sigma low pt (0.25) 0.5 sigma: high pt (3.5)
- tcutarray[1] = "000001100209386300380000000"; // 863 2 1
- wcutarray[1] = "000001100209356300380000000"; // 563 2 -10
+ // "0000011002093663003800000000"; // 663: 2 sigma low pt (0.25) 0.5 sigma: high pt (3.5)
+ tcutarray[1] = "0000011002093863003800000000"; // 863 2 1
+ wcutarray[1] = "0000011002093563003800000000"; // 563 2 -10
- tcutarray[2] = "000001100209366300380000000";
- wcutarray[2] = "000001100209366300380000000";
+ tcutarray[2] = "0000011002093663003800000000";
+ wcutarray[2] = "0000011002093663003800000000";
- tcutarray[3] = "000001100269366300380000000"; // single pt 6: 0.04 tight
- wcutarray[3] = "000001100249366300380000000"; // single pt 4: 0.075 loose
+ tcutarray[3] = "0000011002693663003800000000"; // single pt 6: 0.04 tight
+ wcutarray[3] = "0000011002493663003800000000"; // single pt 4: 0.075 loose
// //tpc cluster cut 9 : 0.6 default
- tcutarray[4] = "000001100206366300380000000"; //6 : > 0.7 tight
- wcutarray[4] = "000001100208366300380000000"; //8 : > 0.35 loose
+ tcutarray[4] = "0000011002063663003800000000"; //6 : > 0.7 tight
+ wcutarray[4] = "0000011002083663003800000000"; //8 : > 0.35 loose
// // qt max 3: 0.05 default
- tcutarray[5] = "000001100209366300480000000"; //4 : < 0.03 tight
- wcutarray[5] = "000001100209366300280000000"; //2 : < 0.07 loose
+ tcutarray[5] = "0000011002093663004800000000"; //4 : < 0.03 tight
+ wcutarray[5] = "0000011002093663002800000000"; //2 : < 0.07 loose
// // chi2 8 default <20
- tcutarray[6] = "000001100209366300390000000"; //9 : < 15 tight
- wcutarray[6] = "000001100209366300320000000"; //2 : < 30 loose
+ tcutarray[6] = "0000011002093663003900000000"; //9 : < 15 tight
+ wcutarray[6] = "0000011002093663003200000000"; //2 : < 30 loose
///Add the tight cuts
-void AddTask_Material(TString V0ReaderCutNumber = "000000006008400100150000000",
- TString TaskCutnumber = "000000009009266374380000000",
+void AddTask_Material(TString V0ReaderCutNumber = "0000000060084001001500000000",
+ TString TaskCutnumber = "0000000090092663743800000000",
Bool_t IsMC = kFALSE,
Int_t IsHeavyIon = 0,
TString cutnumberAODBranch = "0000000060084001001500000",
){
// Suitable Cutnumbers for the V0 Reader for
- // PbPb: V0ReaderCutNumber = "100000006008400100150000000"; (V0Mult MC)
- // or V0ReaderCutNumber = "500000006008400100150000000" (TPC mult MC)
- // pPb: V0ReaderCutNumber = "800000006008400100150000000";
- // pp: V0ReaderCutNumber = "000000006008400100150000000";
+ // PbPb: V0ReaderCutNumber = "1000000060084001001500000000"; (V0Mult MC)
+ // or V0ReaderCutNumber = "5000000060084001001500000000" (TPC mult MC)
+ // pPb: V0ReaderCutNumber = "8000000060084001001500000000";
+ // pp: V0ReaderCutNumber = "0000000060084001001500000000";
// ================= Load Librariers =================================
// suitable cuts for the material Task:
- // PbPb: TaskCutnumber = "568000106009266304480300000"; TPC mult in MC - 60-80% central
- // or: TaskCutnumber = "168000106009266304480300000"; V0 mult in MC - 60-80% central
- // pPb: TaskCutnumber = "800000009009266374380000000";
- // pp: TaskCutnumber = "000000009009266374380000000";
+ // PbPb: TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
+ // or: TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC - 60-80% central
+ // pPb: TaskCutnumber = "8000000090092663743800000000";
+ // pp: TaskCutnumber = "0000000090092663743800000000";
AliConversionCuts *analysisCuts = new AliConversionCuts();
analysisCuts->InitializeCutsFromCutString(TaskCutnumber.Data());
-void AddTask_PhotonQA( TString V0ReaderCutNumber = "000000006008400100150000000",
- TString TaskCutnumber = "000000009009266374380000000",
+void AddTask_PhotonQA( TString V0ReaderCutNumber = "0000000060084001001500000000",
+ TString TaskCutnumber = "0000000090092663743800000000",
Bool_t IsMC = kFALSE,
Int_t IsHeavyIon = 0,
Bool_t kHistograms = kTRUE,
Bool_t kTree = kTRUE,
TString V0ReaderCutNumberAODBranch = "0000000060084001001500000",
+ Bool_t runBasicQAWithStandardOutput = kTRUE,
Bool_t doEtaShiftV0Reader = kFALSE
){
// Suitable Cutnumbers for the V0 Reader for
- // PbPb: V0ReaderCutNumber = "100000006008400100150000000"; (V0Mult MC)
- // or V0ReaderCutNumber = "500000006008400100150000000" (TPC mult MC)
- // pPb: V0ReaderCutNumber = "800000006008400100150000000";
- // pp: V0ReaderCutNumber = "000000006008400100150000000";
+ // PbPb: V0ReaderCutNumber = "1000000060084001001500000000"; (V0Mult MC)
+ // or V0ReaderCutNumber = "5000000060084001001500000000" (TPC mult MC)
+ // pPb: V0ReaderCutNumber = "8000000060084001001500000000";
+ // pp: V0ReaderCutNumber = "0000000060084001001500000000";
// ================= Load Librariers =================================
// suitable cuts for the photon Task, however in principle every cutnumber can be chosen which is used in the photon analysis:
- // PbPb: TaskCutnumber = "568000106009266304480300000"; TPC mult in MC - 60-80% central
- // or: TaskCutnumber = "168000106009266304480300000"; V0 mult in MC - 60-80% central
- // pPb: TaskCutnumber = "800000009009266374380000000";
- // pp: TaskCutnumber = "000000009009266374380000000";
+ // PbPb: TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
+ // or: TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC - 60-80% central
+ // pPb: TaskCutnumber = "8000000090092663743800000000";
+ // pp: TaskCutnumber = "0000000090092663743800000000";
AliConversionCuts *analysisCuts = new AliConversionCuts();
analysisCuts->InitializeCutsFromCutString(TaskCutnumber.Data());
mgr->AddTask(fQA);
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
- AliAnalysisDataContainer *coutput =
- mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
- AliAnalysisManager::kOutputContainer,Form("GammaConvV1_QA_%s.root",TaskCutnumber.Data()));
-
-
+ if (runBasicQAWithStandardOutput){
+ AliAnalysisDataContainer *coutput =
+ mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
+ AliAnalysisManager::kOutputContainer,Form("%s:GammaConvV1_QA_%s",AliAnalysisManager::GetCommonFileName(), TaskCutnumber.Data()));
+ mgr->ConnectOutput(fQA, 1, coutput);
+ } else {
+ AliAnalysisDataContainer *coutput =
+ mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
+ AliAnalysisManager::kOutputContainer,Form("GammaConvV1_QA_%s.root",TaskCutnumber.Data()));
+ mgr->ConnectOutput(fQA, 1, coutput);
+ }
mgr->ConnectInput(fQA,0,cinput);
- mgr->ConnectOutput(fQA, 1, coutput);
+
//connect containers
return;
// Standard Cuts
-cutarray[0] = "1080000042092970023220000"; mesoncutarray[0] = "01522045000"; //standard cut Pi0 PbPb 00-100
+ 01525065009000
+cutarray[0] = "1080000042092970023220000000"; mesoncutarray[0] = "01522045000000"; //standard cut Pi0 PbPb 00-100
// TPC PID
-cutarray[1] = "1080001042093970023220000"; mesoncutarray[1] = "01522045000";
-cutarray[2] = "1080001042096970023220000"; mesoncutarray[2] = "01522045000";
-cutarray[3] = "1080001042092470023220000"; mesoncutarray[3] = "01522045000";
-cutarray[4] = "1080001042092770023220000"; mesoncutarray[4] = "01522045000";
-cutarray[5] = "1080001042092950023220000"; mesoncutarray[5] = "01522045000";
+cutarray[1] = "1080001042093970023220000000"; mesoncutarray[1] = "01522045000000";
+cutarray[2] = "1080001042096970023220000000"; mesoncutarray[2] = "01522045000000";
+cutarray[3] = "1080001042092470023220000000"; mesoncutarray[3] = "01522045000000";
+cutarray[4] = "1080001042092770023220000000"; mesoncutarray[4] = "01522045000000";
+cutarray[5] = "1080001042092950023220000000"; mesoncutarray[5] = "01522045000000";
// TOF PID
-cutarray[6] = "1080001042092970033220000"; mesoncutarray[6] = "01522045000";
-cutarray[7] = "1080001042092970043220000"; mesoncutarray[7] = "01522045000";
+cutarray[6] = "1080001042092970033220000000"; mesoncutarray[6] = "01522045000000";
+cutarray[7] = "1080001042092970043220000000"; mesoncutarray[7] = "01522045000000";
// Qt max
-cutarray[8] = "1080001042092970024220000"; mesoncutarray[8] = "01522045000";
-cutarray[9] = "1080001042092970022220000"; mesoncutarray[9] = "01522045000";
+cutarray[8] = "1080001042092970024220000000"; mesoncutarray[8] = "01522045000000";
+cutarray[9] = "1080001042092970022220000000"; mesoncutarray[9] = "01522045000000";
// Chi2 Gamma
-cutarray[10] = "1080001042092970023120000"; mesoncutarray[10] = "01522045000";
-cutarray[11] = "1080001042092970023820000"; mesoncutarray[11] = "01522045000";
+cutarray[10] = "1080001042092970023120000000"; mesoncutarray[10] = "01522045000000";
+cutarray[11] = "1080001042092970023820000000"; mesoncutarray[11] = "01522045000000";
// Psi Pair
-cutarray[12] = "1080001042092970023210000"; mesoncutarray[12] = "01522045000";
-cutarray[13] = "1080001042092970023230000"; mesoncutarray[13] = "01522045000";
+cutarray[12] = "1080001042092970023210000000"; mesoncutarray[12] = "01522045000000";
+cutarray[13] = "1080001042092970023230000000"; mesoncutarray[13] = "01522045000000";
// R Cut
-cutarray[14] = "1080001044092970023220000"; mesoncutarray[14] = "01522045000"; //5-70
-cutarray[15] = "1080001045092970023220000"; mesoncutarray[15] = "01522045000"; //10-180
-cutarray[16] = "1080001046092970023220000"; mesoncutarray[16] = "01522045000"; //20
-cutarray[17] = "1080001047092970023220000"; mesoncutarray[17] = "01522045000"; //26
-cutarray[18] = "1080001048092970023220000"; mesoncutarray[18] = "01522045000"; //35
-cutarray[19] = "1080001045092970023220000"; mesoncutarray[19] = "01522045000"; //60
+cutarray[14] = "1080001044092970023220000000"; mesoncutarray[14] = "01522045000000"; //5-70
+cutarray[15] = "1080001045092970023220000000"; mesoncutarray[15] = "01522045000000"; //10-180
+cutarray[16] = "1080001046092970023220000000"; mesoncutarray[16] = "01522045000000"; //20
+cutarray[17] = "1080001047092970023220000000"; mesoncutarray[17] = "01522045000000"; //26
+cutarray[18] = "1080001048092970023220000000"; mesoncutarray[18] = "01522045000000"; //35
+cutarray[19] = "1080001045092970023220000000"; mesoncutarray[19] = "01522045000000"; //60
// Single Pt
-cutarray[20] = "1080001042492970023220000"; mesoncutarray[20] = "01522045000";
-cutarray[21] = "1080001042192970023220000"; mesoncutarray[21] = "01522045000";
+cutarray[20] = "1080001042492970023220000000"; mesoncutarray[20] = "01522045000000";
+cutarray[21] = "1080001042192970023220000000"; mesoncutarray[21] = "01522045000000";
// Alpha
-cutarray[22] = "1080001042092970023220000"; mesoncutarray[22] = "01022085000";
-cutarray[23] = "1080001042092970023220000"; mesoncutarray[23] = "01022005000";
+cutarray[22] = "1080001042092970023220000000"; mesoncutarray[22] = "01022085000000";
+cutarray[23] = "1080001042092970023220000000"; mesoncutarray[23] = "01022005000000";
AliAnalysisTask *AddTask_Pi0v2(Int_t harmonic=2,Bool_t IsHeavyIon=kTRUE,Bool_t doSys=kTRUE){
TString fV0ReaderCut="";
if(IsHeavyIon){
- fV0ReaderCut = "1080000002084001001500000";
+ fV0ReaderCut = "1080000002084001001500000000";
}
else{
- fV0ReaderCut = "0000000002084001001500000";
+ fV0ReaderCut = "0000000002084001001500000000";
}
fV0Reader=new AliV0ReaderV1(Form("PhotonPi0v%d",harmonic));
mgr->AddTask(fV0Reader);
-void AddTask_Resolution( TString V0ReaderCutNumber = "000000006008400100150000000",
- TString TaskCutnumber = "000000009009266374380000000",
+void AddTask_Resolution( TString V0ReaderCutNumber = "0000000060084001001500000000",
+ TString TaskCutnumber = "0000000090092663743800000000",
Bool_t IsMC = kTRUE,
Int_t IsHeavyIon = 0,
TString cutnumberAODBranch = "0000000060084001001500000",
}
// suitable cuts for the material Task:
- // PbPb: TaskCutnumber = "568000106009266304480300000"; TPC mult in MC - 60-80% central
- // or: TaskCutnumber = "168000106009266304480300000"; V0 mult in MC - 60-80% central
- // pPb: TaskCutnumber = "800000009009266374380000000";
- // pp: TaskCutnumber = "000000009009266374380000000";
+ // PbPb: TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
+ // or: TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC - 60-80% central
+ // pPb: TaskCutnumber = "8000000090092663743800000000";
+ // pp: TaskCutnumber = "0000000090092663743800000000";
AliConversionCuts *analysisCuts = new AliConversionCuts();