]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/PiKaPr/ITSTPC/AliAnalysisChargedHadronSpectraITSTruncatedMeanTask.cxx
Split: removed dirs now in AliPhysics
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / ITSTPC / AliAnalysisChargedHadronSpectraITSTruncatedMeanTask.cxx
diff --git a/PWGLF/SPECTRA/PiKaPr/ITSTPC/AliAnalysisChargedHadronSpectraITSTruncatedMeanTask.cxx b/PWGLF/SPECTRA/PiKaPr/ITSTPC/AliAnalysisChargedHadronSpectraITSTruncatedMeanTask.cxx
deleted file mode 100644 (file)
index c9501e4..0000000
+++ /dev/null
@@ -1,1956 +0,0 @@
-//Class to extract data to do ITS+TPC global Spectra
-//Autor Marek Chojnacki
-//emali Marek.Chojnacki@cern.ch
-//Used on 2009 data
-//last line of comments
-
-
-#include "AliAnalysisChargedHadronSpectraITSTruncatedMeanTask.h"
-#include "AliAnalysisManager.h"
-
-#include "AliESDEvent.h"
-
-
-//#include "AliESDtrack.h"
-
-#include "Riostream.h"
-#include "AliInputEventHandler.h"
-#include "AliStack.h"
-//#include "AliMCEventHandler.h"
-#include "AliMCEvent.h"
-
-#include "TGraph.h"
-#include "TH1F.h"
-#include "TH2F.h"
-#include "TMath.h"
-#include "TH3F.h"
-//#include "TMCProcess.h"
-#include "AliVEvent.h"
-
-#include "AliESDtrackCuts.h"
-//#include "AliESDpidCuts.h"
-//#include "AliESDpid.h"
-#include "AliCentrality.h"
-#include "AliESDUtils.h"
-#include "AliMultiplicity.h"
-
-   class     AliMCEventHandler;
-     class   Riostream;
-
-using namespace std;
-ClassImp(AliAnalysisChargedHadronSpectraITSTruncatedMeanTask)
-
-//________________________________________________________________________
-AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::AliAnalysisChargedHadronSpectraITSTruncatedMeanTask(const char *name) 
-:AliAnalysisTaskSE(name),fESD(0),fCuts(0),fCutsMul(0),fMC(0),
-fLowMultiplicity(-1),fUpMultiplicity(-1),fLowCentrality(-10.0),fUpCentrality(-10.0),fSPD(0),fUsePilerejection(0),
-fYCut(100.0),fsigmacut(3.0),fnsigmaxy(7.0),fnsigmaz(5.0),fchargeCut(0.0),
-fCorrectSDD(0),fCorrectSSD(0),fHIsettings(0),fdovertexrescuts(0),
- fK0weight(0),flambdaweight(0),fAntilambdaweight(0),
-fHistStats(0),fHistZVertexBeforeCut(0),fHistZVertexAfterCut(0),fHistXYVertexBeforeCut(0),fHistXYVertexAfterCut(0),
-fHistPhiPtBeforeCuts(0),fHistPhiPtAfterCuts(0),fHistEtaPtBeforeCuts(0),fHistEtaPtAfterCuts(0),fHistDCABeforeCuts(0),fHistDCAAfterCuts(0),
-fHistPminusTPCinPAfterCuts(0),fHistPminusTPCinPglobalAfterCuts(0),
-fHistMydEPpositive(0),fHistMydETPCinPpositive(0),fHistMydETPCinPglobalpositive(0),
-fHistMydEPnegative(0),fHistMydETPCinPnegative(0),fHistMydETPCinPglobalnegative(0),
-fHistL3dEP(0),fHistL4dEP(0),fHistL5dEP(0),fHistL6dEP(0),fHistL3dETPCinP(0),
- fHistL4dETPCinP(0),fHistL5dETPCinP(0),fHistL6dETPCinP(0),fHistwhichhasmin(0),fHistMysignalminusESD(0),
-fHistminsignalifPionP(0),fHistminsignalifKaonP(0),fHistminsignalifProtonP(0),fHistminsignalifAntiPionP(0),fHistminsignalifAntiKaonP(0),fHistminsignalifAntiProtonP(0),
-fDCAXYZforcleanPions(0),fDCAXYZforcleanAntiPions(0),fDCAXYZforcleanProtons(0),fDCAXYZforcleanAntiProtons(0),
-fDCAXYZOpenforcleanPions(0),fDCAXYZOpenforcleanAntiPions(0),fDCAXYZOpenforcleanProtons(0),fDCAXYZOpenforcleanAntiProtons(0),
-fHistNtrackwithstandardcuts(0),fHistNtrackwithITSPIDcuts(0),
-fHistSignalinTPCKaonforstandardcuts(0),fHistSignalinTPCKaonforITSPIDcuts(0),fHistSignalinTPCAntiKaonforstandardcuts(0),fHistSignalinTPCAntiKaonforITSPIDcuts(0),
-fHistSignalinTPCProtonforstandardcuts(0),fHistSignalinTPCProtonforITSPIDcuts(0),fHistSignalinTPCAntiProtonforstandardcuts(0),fHistSignalinTPCAntiProtonforITSPIDcuts(0),
-fHistStandartMul(0),fHistMytrackMul(0),fHistStandartMulvSPD2(0),
-fHistminsignalifPionPPrimary(0),fHistminsignalifKaonPPrimary(0),fHistminsignalifProtonPPrimary(0),fHistminsignalifProtonPPrimaryfake(0),
-fHistminsignalifAntiPionPPrimary(0),fHistminsignalifAntiKaonPPrimary(0),fHistminsignalifAntiProtonPPrimary(0),fHistminsignalifAntiProtonPPrimaryfake(0),
-fHistminsignalifPionPSecondary(0),fHistminsignalifKaonPSecondary(0),
-fHistminsignalifProtonPSecondaryWD(0),fHistminsignalifProtonPSecondaryHI(0),fHistminsignalifProtonPSecondaryRest(0),
-fHistminsignalifProtonPSecondaryWDfake(0),fHistminsignalifProtonPSecondaryHIfake(0),
-fHistminsignalifAntiPionPSecondary(0),fHistminsignalifAntiKaonPSecondary(0),
-fHistminsignalifAntiProtonPSecondaryWD(0),fHistminsignalifAntiProtonPSecondaryHI(0), fHistminsignalifAntiProtonPSecondaryRest(0),
-fHistminsignalifAntiProtonPSecondaryWDfake(0),fHistminsignalifAntiProtonPSecondaryHIfake(0),
-fHistminsignalifMuEPositiveP(0),fHistminsignalifMuENegativeP(0),
-fHistminsignalifPionPrimaryfake(0),fHistminsignalifKaonPrimaryfake(0),fHistminsignalifAntiPionPrimaryfake(0),fHistminsignalifAntiKaonPrimaryfake(0),
-fHistminsignalifPionSecondaryfake(0),fHistminsignalifKaonSecondaryfake(0),fHistminsignalifAntiPionSecondaryfake(0),fHistminsignalifAntiKaonSecondaryfake(0),
-fHistminsignalifPionPMCPrimary(0),fHistminsignalifKaonPMCPrimary(0),fHistminsignalifProtonPMCPrimary(0),
-fHistminsignalifAntiPionPMCPrimary(0),fHistminsignalifAntiKaonPMCPrimary(0),fHistminsignalifAntiProtonPMCPrimary(0),
-fHistminsignalifPionPMCPrimaryBeforeEventCuts(0),fHistminsignalifKaonPMCPrimaryBeforeEventCuts(0),fHistminsignalifProtonPMCPrimaryBeforeEventCuts(0),
-fHistminsignalifAntiPionPMCPrimaryBeforeEventCuts(0),fHistminsignalifAntiKaonPMCPrimaryBeforeEventCuts(0),fHistminsignalifAntiProtonPMCPrimaryBeforeEventCuts(0),
-fHistminsignalifPionPMCPrimaryBeforeEventCutswithgoodZvertex(0),fHistminsignalifKaonPMCPrimaryBeforeEventCutswithgoodZvertex(0),fHistminsignalifProtonPMCPrimaryBeforeEventCutswithgoodZvertex(0),
-fHistminsignalifAntiPionPMCPrimaryBeforeEventCutswithgoodZvertex(0),fHistminsignalifAntiKaonPMCPrimaryBeforeEventCutswithgoodZvertex(0),fHistminsignalifAntiProtonPMCPrimaryBeforeEventCutswithgoodZvertex(0),
-fHistminsignalifPionPMCPrimaryAfterEventCutsBeforeVertexZ(0),fHistminsignalifKaonPMCPrimaryAfterEventCutsBeforeVertexZ(0),fHistminsignalifProtonPMCPrimaryAfterEventCutsBeforeVertexZ(0),
-fHistminsignalifAntiPionPMCPrimaryAfterEventCutsBeforeVertexZ(0),fHistminsignalifAntiKaonPMCPrimaryAfterEventCutsBeforeVertexZ(0),fHistminsignalifAntiProtonPMCPrimaryAfterEventCutsBeforeVertexZ(0),
-fDCAXYZforcleanPionsMCPrimary(0),fDCAXYZforcleanAntiPionsMCPrimary(0),fDCAXYZforcleanProtonsMCPrimary(0),fDCAXYZforcleanAntiProtonsMCPrimary(0),
- fDCAXYZforcleanPionsWD(0),fDCAXYZforcleanAntiPionsWD(0),fDCAXYZforcleanProtonsWD(0), fDCAXYZforcleanAntiProtonsWD(0),fDCAXYZforcleanPionsHI(0),fDCAXYZforcleanAntiPionsHI(0),
-fDCAXYZforcleanProtonsHI(0),fDCAXYZforcleanAntiProtonsHI(0),fDCAXYZforcleanPionsMEPrimary(0),fDCAXYZforcleanAntiPionsMEPrimary(0),fDCAXYZforcleanPionsMESecondary(0),fDCAXYZforcleanAntiPionsMESecondary(0),fDCAXYZforcleanPionsR(0),fDCAXYZforcleanAntiPionsR(0),fDCAXYZforcleanProtonsR(0),fDCAXYZforcleanAntiProtonsR(0),
-fDCAXYZOpenforcleanPionsMCPrimary(0),fDCAXYZOpenforcleanAntiPionsMCPrimary(0),fDCAXYZOpenforcleanProtonsMCPrimary(0),fDCAXYZOpenforcleanAntiProtonsMCPrimary(0),
- fDCAXYZOpenforcleanPionsWD(0),fDCAXYZOpenforcleanAntiPionsWD(0),fDCAXYZOpenforcleanProtonsWD(0), fDCAXYZOpenforcleanAntiProtonsWD(0),fDCAXYZOpenforcleanPionsHI(0),fDCAXYZOpenforcleanAntiPionsHI(0),
-fDCAXYZOpenforcleanProtonsHI(0),fDCAXYZOpenforcleanAntiProtonsHI(0),fDCAXYZOpenforcleanPionsMEPrimary(0),fDCAXYZOpenforcleanAntiPionsMEPrimary(0),fDCAXYZOpenforcleanPionsMESecondary(0),fDCAXYZOpenforcleanAntiPionsMESecondary(0),fDCAXYZOpenforcleanPionsR(0),fDCAXYZOpenforcleanAntiPionsR(0),fDCAXYZOpenforcleanProtonsR(0),fDCAXYZOpenforcleanAntiProtonsR(0),
-fElectronsource(0),fAntiElectronsource(0), 
-fMuonsource(0),fAntiMuonsource(0),
-fPionNTPCClusters(0),fAntiPionNTPCClusters(0),fKaonNTPCClusters(0),fAntiKaonNTPCClusters(0),fProtonNTPCClusters(0),fAntiProtonNTPCClusters(0),
-fPionchi2(0),fAntiPionchi2(0),fKaonchi2(0),fAntiKaonchi2(0),fProtonchi2(0),fAntiProtonchi2(0),
-fTracksCutmonitoring(0),fParticlesCutmonitoring(0),fVertexshift(0),fPtESDminusPtMCvPtESDafterallcuts(0),fPtESDminusPtMCvPtESDafterTPCcuts(0),fMulESDMulMCVz(0),
-fTPCPIDCUT(0), fESDpid(0),fPrimaryElectronsMother(0),
-flist(0)
-{
-       //Constructor
-        fESDpid=new AliESDpid();
-       // fESDpid->GetTPCResponse().SetBetheBlochParameters(0.0283086,2.63394e+01,5.04114e-11,2.12543e+00,4.88663e+00);
-        fESDpid->GetTPCResponse().SetBetheBlochParameters(1.28949/50., 2.74095e+01, TMath::Exp(-3.21763e+01), 2.44026, 6.58800); 
-        
-       
-        
-       fCutsMul=new AliESDtrackCuts("Mul","Mul");
-       fCutsMul->SetMinNClustersTPC(70);
-       fCutsMul->SetMaxChi2PerClusterTPC(4);
-       fCutsMul->SetAcceptKinkDaughters(kFALSE);
-       fCutsMul->SetRequireTPCRefit(kTRUE);
-       // ITS
-       fCutsMul->SetRequireITSRefit(kTRUE);
-       fCutsMul->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
-                                               AliESDtrackCuts::kAny);
-       fCutsMul->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
-       
-       fCutsMul->SetMaxDCAToVertexZ(2);
-       fCutsMul->SetDCAToVertex2D(kFALSE);
-       fCutsMul->SetRequireSigmaToVertex(kFALSE);
-       
-       fCutsMul->SetEtaRange(-0.8,+0.8);
-       fCutsMul->SetPtRange(0.15, 1e10);
-        
-       fdcaxypar[0]=0.0050;
-       fdcaxypar[1]=0.0060;
-       fdcaxypar[2]=0.9;
-       
-       fdcazpar[0]=0.0146;
-       fdcazpar[1]=0.0070;
-       fdcazpar[2]=1.114758;
-       fdcazpar[3]=0.0216;
-
-       
-       
-       
-       Printf("end of AliAnalysisChargedHadronSpectraITSTruncatedMeanTask");
-        DefineOutput(1, TList::Class());
-}
-
-
-//________________________________________________________________________
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::UserCreateOutputObjects()
-{
-       //UserCreateOutputObject
-       Printf("AliAnalysisChargedHadronSpectraITSTruncatedMeanTask UserCreateOutputObjects");
-         flist=new TList();
-        flist->SetOwner();
-       Float_t ptmax=2.0;
-       Float_t etamax=1.0;
-       
-       Int_t netabins=100;
-       Int_t nptbins=40;
-       Double_t dcamax=3.7;
-       const  Int_t ndec=2;
-       Int_t startvalue=-1;
-       const  Int_t npredec=50;
-       Double_t tabx[ndec*npredec+1];
-       for (Int_t i=0;i<ndec;i++)
-       {
-               for (Int_t j=0;j<npredec;j++)
-               {
-                       tabx[npredec*i+j]=TMath::Power(10,((Double_t)i)+((Double_t)startvalue)+((Double_t)j)/((Double_t)npredec));
-               }       
-       }
-       tabx[ndec*npredec]=TMath::Power(10,ndec+startvalue);
-       
-       const Int_t  ny=600;
-       const Double_t jump=1.5;
-       const Double_t starty=0.0; 
-       
-       
-       Int_t kPtBins=30;
-       Double_t binsPtDummy[kPtBins+1];
-       binsPtDummy[0]=0.0;
-       for(int i=1;i<=kPtBins+1;i++)
-       {
-               if(binsPtDummy[i-1]+0.05<1.01)
-                       binsPtDummy[i]=binsPtDummy[i-1]+0.05;
-               else
-                       binsPtDummy[i]=binsPtDummy[i-1]+0.1;    
-       } 
-       //{0., 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0};
-       
-       
-       fHistStats=new TH1F("StatsHist","StatsHist",10,-0.5,9.5);
-       fHistStats->GetXaxis()->SetBinLabel(1,"Nevents");
-       fHistStats->GetXaxis()->SetBinLabel(2,"Nevents_physics");
-       fHistStats->GetXaxis()->SetBinLabel(3,"Nevents_physics_with_good_SPD_vertex");
-       fHistStats->GetXaxis()->SetBinLabel(4,"Nevents_physics_with_good_SPD_vertex_and_|z|<10.0");
-       fHistStats->GetXaxis()->SetBinLabel(5,"N_tracks_with_3_or_4_in_SSD_SDD");
-       fHistStats->GetXaxis()->SetBinLabel(6,"N_tracks_with_3_or_4_with_goodq_in_SSD_SDD");
-       fHistStats->GetXaxis()->SetBinLabel(7,"e_in_pi");
-       fHistStats->GetXaxis()->SetBinLabel(8,"mu_in_pi");
-       fHistStats->GetXaxis()->SetBinLabel(9,"MC_event");
-       fHistStats->GetXaxis()->SetBinLabel(10,"MC_event_with_z<10.0");
-       flist->Add(fHistStats);
-       
-       fHistZVertexBeforeCut=new TH1F("HistZVertexBeforeCut","ZVertex;z[cm];N_{counts}",400,-20,20);
-       flist->Add(fHistZVertexBeforeCut);
-       fHistZVertexAfterCut=new TH1F("HistZVertexAfterCut","ZVertex;z[cm];N_{counts}",400,-20,20);
-       flist->Add(fHistZVertexAfterCut);
-       fHistXYVertexBeforeCut=new TH2F("HistXYVertexBeforeCut","XYVertex;x[cm];y[cm];N_{conuts}",100,-0.4,0.4,100,-0.4,0.4); 
-       flist->Add(fHistXYVertexBeforeCut);
-       fHistXYVertexAfterCut=new TH2F("HistXYVertexAfterCut","XYVertex;x[cm];y[cm];N_{conuts}",100,-0.4,0.4,100,-0.4,0.4); 
-       flist->Add(fHistXYVertexAfterCut);
-       
-       fHistPhiPtBeforeCuts=new  TH2F("HistPhiPtBeforeCuts",";#phi;pt[GeV/c]",70,0,2.0*TMath::Pi(),nptbins,-1.0*ptmax,ptmax);
-       flist->Add(fHistPhiPtBeforeCuts);
-       
-       fHistPhiPtAfterCuts=new  TH2F("HistPhiPtAfterCuts",";#phi;pt[GeV/c]",70,0,2.0*TMath::Pi(),nptbins,-1.0*ptmax,ptmax);
-       flist->Add(fHistPhiPtAfterCuts);
-       
-       fHistEtaPtBeforeCuts=new  TH2F("HistEtaPtBeforeCuts",";#eta;pt[GeV/c]",netabins,-1.0*etamax,etamax,nptbins,-1.0*ptmax,ptmax);//eta pt
-       flist->Add(fHistEtaPtBeforeCuts);
-       
-       fHistEtaPtAfterCuts=new  TH2F("HistEtaPtAfterCuts",";#eta;pt[GeV/c]",netabins,-1.0*etamax,etamax,nptbins,-1.0*ptmax,ptmax);//eta pt
-       flist->Add(fHistEtaPtAfterCuts);
-       
-       fHistDCABeforeCuts=new  TH2F("HistDCABeforeCut",";dcaxy[cm];dcaz[cm]",100,-1.0*dcamax,dcamax,100,-1.0*dcamax,1.0*dcamax);
-       flist->Add(fHistDCABeforeCuts);
-       
-       fHistDCAAfterCuts=new  TH2F("HistDCAAfterCut",";dcaxy[cm];dcaz[cm]",100,-1.0*dcamax,dcamax,100,-1.0*dcamax,1.0*dcamax);
-       flist->Add(fHistDCAAfterCuts);
-       
-       
-       fHistPminusTPCinPAfterCuts= new TH2F("HistPminusTPCinPVPTPCinAfterCuts",";P-PTPCin [GeV/c];PTPCin",100,-0.5,0.5,ndec*npredec,tabx); 
-       flist->Add(fHistPminusTPCinPAfterCuts);
-       
-       fHistPminusTPCinPglobalAfterCuts= new TH2F("HistPminusTPCinPVPTPCinglobalAfterCuts",";P-PTPCinglobal [GeV/c];PTPCin",100,-0.5,0.5,ndec*npredec,tabx); 
-       flist->Add(fHistPminusTPCinPglobalAfterCuts);
-       
-       fHistMydEPpositive=new TH2F("HistMydEPpositive",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistMydEPpositive);
-               
-       fHistMydETPCinPpositive=new TH2F("HistMydETPCinPpositive",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistMydETPCinPpositive);
-
-       fHistMydETPCinPglobalpositive=new TH2F("HistMydETPCinPglobalpositive",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistMydETPCinPglobalpositive);
-       
-       fHistMydEPnegative=new TH2F("HistMydEPnegative",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistMydEPnegative);
-               
-       fHistMydETPCinPnegative=new TH2F("HistMydETPCinPnegative",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistMydETPCinPnegative);
-
-       fHistMydETPCinPglobalnegative=new TH2F("HistMydETPCinPglobalnegative",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistMydETPCinPglobalnegative);
-       
-       
-       fHistL3dEP=new TH2F("HistL3dEP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL3dEP);
-       
-       fHistL4dEP=new TH2F("HistL4dEP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL4dEP);
-       
-       fHistL5dEP=new TH2F("HistL5dEP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL5dEP);
-       
-       fHistL6dEP=new TH2F("HistL6dEP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL6dEP);
-
-       fHistL3dETPCinP=new TH2F("HistL3dETPCinP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL3dETPCinP);
-       
-       fHistL4dETPCinP=new TH2F("HistL4dETPCinP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL4dETPCinP);
-       
-       fHistL5dETPCinP=new TH2F("HistL5dETPCinP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL5dETPCinP);
-       
-       fHistL6dETPCinP=new TH2F("HistL6dETPCinP",";P[GeV/c];dE[in 300#mum]",ndec*npredec,tabx,ny,starty,ny*jump+starty);
-       flist->Add(fHistL6dETPCinP);
-       
-
-
-       fHistwhichhasmin=new TH2F("Histwhichhasmin","Histwhichhasmin;L;Q",4,-0.5,3.5,100,0,1000);
-       fHistwhichhasmin->GetXaxis()->SetBinLabel(1,"SDD1");
-       fHistwhichhasmin->GetXaxis()->SetBinLabel(2,"SDD2");
-       fHistwhichhasmin->GetXaxis()->SetBinLabel(3,"SSD1");
-       fHistwhichhasmin->GetXaxis()->SetBinLabel(4,"SSD2");
-       flist->Add(fHistwhichhasmin);
-       fHistMysignalminusESD=new TH1F("HistMysignalminus","HistMysignalminus;my-ESD;N",100,-0.2,0.2);
-       flist->Add(fHistMysignalminusESD);
-       
-        
-       fHistminsignalifPionP=new TH2F("HistminsignalifPionP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifPionP);
-       fHistminsignalifKaonP=new TH2F("HistminsignalifKaonP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifKaonP);
-       fHistminsignalifProtonP=new TH2F("HistminsignalifProtonP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonP);
-       
-       
-       fHistminsignalifAntiPionP=new TH2F("HistminsignalifAntiPionP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiPionP);
-       fHistminsignalifAntiKaonP=new TH2F("HistminsignalifAntiKaonP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiKaonP);
-       fHistminsignalifAntiProtonP=new TH2F("HistminsignalifAntiProtonP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonP);
-       
-       Int_t kDCABins=20+2+40;
-       Double_t binsDCADummy[62+1]={-3.0,-2.7,-2.4,-2.1,-1.8,-1.5,-1.2,-0.9,-0.6,-0.3,-0.25,-0.2,-0.19,-0.18,-0.17,-0.16,-0.15,-0.14,-0.13,-0.12,-0.11,-0.10,-0.09,-0.08,-0.07,-0.06,-0.05,-0.04,-0.03,-0.02,-0.01,0.0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.19,0.2,0.25,0.3,0.6,0.9,1.2,1.5,1.8,2.1,2.4,2.7,3.0};
-       
-
-       
-       
-       fDCAXYZforcleanPions=new TH3F("fDCAXYZforcleanPions",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPions);
-       fDCAXYZforcleanAntiPions=new TH3F("fDCAXYZforcleanAntiPions",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPions);
-       fDCAXYZforcleanProtons=new TH3F("fDCAXYZforcleanProtons",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanProtons);
-       fDCAXYZforcleanAntiProtons=new TH3F("fDCAXYZforcleanAntiProtons",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiProtons);
-       
-       
-       fDCAXYZOpenforcleanPions=new TH3F("fDCAXYZOpenforcleanPions",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPions);
-       fDCAXYZOpenforcleanAntiPions=new TH3F("fDCAXYZOpenforcleanAntiPions",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPions);
-       fDCAXYZOpenforcleanProtons=new TH3F("fDCAXYZOpenforcleanProtons",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanProtons);
-       fDCAXYZOpenforcleanAntiProtons=new TH3F("fDCAXYZOpenforcleanAntiProtons",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiProtons);
-       
-       fHistNtrackwithstandardcuts=new TH2F ("fHistNtrackwithstandardcuts",";Pt[GeV/c];type;counts",kPtBins,binsPtDummy,3,-0.5,2.5);
-       flist->Add(fHistNtrackwithstandardcuts);
-       fHistNtrackwithITSPIDcuts=new TH2F ("fHistNtrackwithITSPIDcuts",";Pt[GeV/c];type;counts",kPtBins,binsPtDummy,3,-0.5,2.5);
-       flist->Add(fHistNtrackwithITSPIDcuts);
-       
-       
-       fHistSignalinTPCKaonforstandardcuts= new TH2F("fHistSignalinTPCKaonforstandardcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCKaonforstandardcuts);
-       fHistSignalinTPCKaonforITSPIDcuts= new TH2F("fHistSignalinTPCKaonforITSPIDcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCKaonforITSPIDcuts);
-       
-       fHistSignalinTPCAntiKaonforstandardcuts= new TH2F("fHistSignalinTPCAntiKaonforstandardcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCAntiKaonforstandardcuts);
-       fHistSignalinTPCAntiKaonforITSPIDcuts= new TH2F("fHistSignalinTPCAntiKaonforITSPIDcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCAntiKaonforITSPIDcuts);
-       
-       fHistSignalinTPCProtonforstandardcuts= new TH2F("fHistSignalinTPCProtonforstandardcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCProtonforstandardcuts);
-       fHistSignalinTPCProtonforITSPIDcuts= new TH2F("fHistSignalinTPCProtonforITSPIDcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCProtonforITSPIDcuts);
-       
-       
-       fHistSignalinTPCAntiProtonforstandardcuts= new TH2F("fHistSignalinTPCAntiProtonforstandardcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCAntiProtonforstandardcuts);
-       fHistSignalinTPCAntiProtonforITSPIDcuts= new TH2F("fHistSignalinTPCAntiProtonforITSPIDcuts",";Pt[GeV/c];signal",kPtBins,binsPtDummy,100,-1.0,1.0) ;
-       flist->Add(fHistSignalinTPCAntiProtonforITSPIDcuts);
-       
-       fPionNTPCClusters=new TH2F("fPionNTPCClusters","fPionNTPCClusters;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,60,160);
-       flist->Add(fPionNTPCClusters);
-       fAntiPionNTPCClusters=new TH2F("fAntiPionNTPCClusters","fAntiPionNTPCClusters;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,60,160);
-       flist->Add(fAntiPionNTPCClusters);
-       fKaonNTPCClusters=new TH2F("fKaonNTPCClusters","fKaonNTPCClusters;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,60,160); 
-       flist->Add(fKaonNTPCClusters);
-       fAntiKaonNTPCClusters=new TH2F("fAntiKaonNTPCClusters","fAntiKaonNTPCClusters;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,60,160);
-       flist->Add(fAntiKaonNTPCClusters);
-       fProtonNTPCClusters=new TH2F("fProtonNTPCClusters","fProtonNTPCClusters;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,60,160); 
-       flist->Add(fProtonNTPCClusters);
-       fAntiProtonNTPCClusters=new TH2F("fAntiProtonNTPCClusters","fAntiProtonNTPCClusters;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,60,160);
-       flist->Add(fAntiProtonNTPCClusters);
-       
-       
-       fPionchi2=new TH2F("fPionchi2","fPionchi2;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,0,6);
-       flist->Add(fPionchi2);
-       fAntiPionchi2=new TH2F("fAntiPionchi2","fAntiPionchi2;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,0,6);
-       flist->Add(fAntiPionchi2);
-       fKaonchi2=new TH2F("fKaonchi2","fKaonchi2;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,0,6); 
-       flist->Add(fKaonchi2);
-       fAntiKaonchi2=new TH2F("fAntiKaonchi2","fAntiKaonchi2;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,0,6);
-       flist->Add(fAntiKaonchi2);
-       fProtonchi2=new TH2F("fProtonchi2","fProtonchi2;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,0,6); 
-       flist->Add(fProtonchi2);
-       fAntiProtonchi2=new TH2F("fAntiProtonchi2","fAntiProtonchi2;Pt [GeV/c];NClusters",kPtBins,binsPtDummy,20,0,6);
-       flist->Add(fAntiProtonchi2);
-       
-       if(fHIsettings)
-       {
-               fHistStandartMul=new TH1F("fHistStandartMul",";Ntracks;counts",300,0,3000);
-               flist->Add(fHistStandartMul);
-               fHistMytrackMul=new TH1F("fHistMytrackMul",";Ntracks;counts",300,0,3000);
-               flist->Add(fHistMytrackMul);
-               fHistStandartMulvSPD2=new TH2F("fHistStandartMulvSPD2",";Ntracks;nSPD2;counts",300,0,3000,300,0,3000);
-               flist->Add(fHistStandartMulvSPD2);
-       }
-       else
-       {
-               fHistStandartMul=new TH1F("fHistStandartMul",";Ntracks;counts",300,0,300);
-               flist->Add(fHistStandartMul);
-               fHistMytrackMul=new TH1F("fHistMytrackMul",";Ntracks;counts",300,0,300);
-               flist->Add(fHistMytrackMul);
-               fHistStandartMulvSPD2=new TH2F("fHistStandartMulvSPD2",";Ntracks;nSPD2;counts",300,0,300,300,0,300);
-               flist->Add(fHistStandartMulvSPD2);
-       }
-       fTracksCutmonitoring=new TH2F("fTracksCutmonitoring",";cut;pt[GeV/c];N_{entries}",4,0.5,4.5,kPtBins,binsPtDummy);       
-       fTracksCutmonitoring->GetXaxis()->SetBinLabel(1,"TPCin");
-       fTracksCutmonitoring->GetXaxis()->SetBinLabel(2,"standard");
-       fTracksCutmonitoring->GetXaxis()->SetBinLabel(3,"ITSpid");
-       fTracksCutmonitoring->GetXaxis()->SetBinLabel(4,"DCA");
-       flist->Add(fTracksCutmonitoring);
-       
-       
-       
-       
-       if(!fMC)
-       {
-               
-               Printf("end of CreateOutputObjects no MC");
-               PostData(1,flist);
-               return;
-       }
-       
-       
-
-       fHistminsignalifPionPPrimary=new TH2F("HistminsignalifPionPPrimary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifPionPPrimary);
-       fHistminsignalifKaonPPrimary=new TH2F("HistminsignalifKaonPPrimary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifKaonPPrimary);
-       fHistminsignalifProtonPPrimary=new TH2F("HistminsignalifProtonPPrimary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPPrimary);
-       fHistminsignalifProtonPPrimaryfake=new TH2F("HistminsignalifProtonPPrimaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPPrimaryfake);
-               
-       fHistminsignalifAntiPionPPrimary=new TH2F("HistminsignalifAntiPionPPrimary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiPionPPrimary);
-       fHistminsignalifAntiKaonPPrimary=new TH2F("HistminsignalifAntiKaonPPrimary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiKaonPPrimary);
-       fHistminsignalifAntiProtonPPrimary=new TH2F("HistminsignalifAntiProtonPPrimary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPPrimary);
-       fHistminsignalifAntiProtonPPrimaryfake=new TH2F("HistminsignalifAntiProtonPPrimaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPPrimaryfake);
-       
-       fHistminsignalifPionPSecondary=new TH2F("HistminsignalifPionPSecondary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifPionPSecondary);
-       fHistminsignalifKaonPSecondary=new TH2F("HistminsignalifKaonPSecondary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifKaonPSecondary);
-       fHistminsignalifProtonPSecondaryWD=new TH2F("HistminsignalifProtonPSecondaryWD",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPSecondaryWD);
-       fHistminsignalifProtonPSecondaryHI=new TH2F("HistminsignalifProtonPSecondaryHI",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPSecondaryHI);
-       fHistminsignalifProtonPSecondaryRest=new TH2F("HistminsignalifProtonPSecondaryRest",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPSecondaryRest);
-       fHistminsignalifProtonPSecondaryWDfake=new TH2F("HistminsignalifProtonPSecondaryWDfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPSecondaryWDfake);
-       fHistminsignalifProtonPSecondaryHIfake=new TH2F("HistminsignalifProtonPSecondaryHIfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifProtonPSecondaryHIfake);
-
-               
-       fHistminsignalifAntiPionPSecondary=new TH2F("HistminsignalifAntiPionPSecondary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiPionPSecondary);
-       fHistminsignalifAntiKaonPSecondary=new TH2F("HistminsignalifAntiKaonPSecondary",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiKaonPSecondary);
-       fHistminsignalifAntiProtonPSecondaryWD=new TH2F("HistminsignalifAntiProtonPSecondaryWD",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPSecondaryWD);
-       fHistminsignalifAntiProtonPSecondaryHI=new TH2F("HistminsignalifAntiProtonPSecondaryHI",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPSecondaryHI);
-       fHistminsignalifAntiProtonPSecondaryRest=new TH2F("HistminsignalifAntiProtonPSecondaryRest",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPSecondaryRest);   
-       fHistminsignalifAntiProtonPSecondaryWDfake=new TH2F("HistminsignalifAntiProtonPSecondaryWDfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPSecondaryWDfake);
-       fHistminsignalifAntiProtonPSecondaryHIfake=new TH2F("HistminsignalifAntiProtonPSecondaryHIfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiProtonPSecondaryHIfake);
-       
-       fHistminsignalifMuEPositiveP=new TH2F("HistminsignalifMuEPositiveP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifMuEPositiveP);
-       fHistminsignalifMuENegativeP=new TH2F("HistminsignalifMuENegativeP",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifMuENegativeP);
-       
-       
-       fHistminsignalifPionPrimaryfake=new TH2F("HistminsignalifPionPrimaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifPionPrimaryfake);
-       fHistminsignalifKaonPrimaryfake=new TH2F("HistminsignalifKaonPrimaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifKaonPrimaryfake);
-       
-       fHistminsignalifAntiPionPrimaryfake=new TH2F("HistminsignalifAntiPionPrimaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiPionPrimaryfake);
-       fHistminsignalifAntiKaonPrimaryfake=new TH2F("HistminsignalifAntiKaonPrimaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiKaonPrimaryfake);
-       
-       
-       fHistminsignalifPionSecondaryfake=new TH2F("HistminsignalifPionSecondaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifPionSecondaryfake);
-       fHistminsignalifKaonSecondaryfake=new TH2F("HistminsignalifKaonSecondaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifKaonSecondaryfake);
-       
-       fHistminsignalifAntiPionSecondaryfake=new TH2F("HistminsignalifAntiPionSecondaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiPionSecondaryfake);
-       fHistminsignalifAntiKaonSecondaryfake=new TH2F("HistminsignalifAntiKaonSecondaryfake",";Pt[GeV/c];log(dE_real)-log(dE_fit)",kPtBins,binsPtDummy,ny,-4,4);
-       flist->Add(fHistminsignalifAntiKaonSecondaryfake);
-       
-       
-       fHistminsignalifPionPMCPrimary=new TH1F("HistminsignalifPionPMCPrimary",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifPionPMCPrimary);
-       fHistminsignalifKaonPMCPrimary=new TH1F("HistminsignalifKaonPMCPrimary",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifKaonPMCPrimary);
-       fHistminsignalifProtonPMCPrimary=new TH1F("HistminsignalifProtonPMCPrimary",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifProtonPMCPrimary);
-               
-       fHistminsignalifAntiPionPMCPrimary=new TH1F("HistminsignalifAntiPionPMCPrimary",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiPionPMCPrimary);
-       fHistminsignalifAntiKaonPMCPrimary=new TH1F("HistminsignalifAntiKaonPMCPrimary",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiKaonPMCPrimary);
-       fHistminsignalifAntiProtonPMCPrimary=new TH1F("HistminsignalifAntiProtonPMCPrimary",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiProtonPMCPrimary);
-       
-       
-       fHistminsignalifPionPMCPrimaryBeforeEventCuts=new TH1F("HistminsignalifPionPMCPrimaryBeforeEventCuts",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifPionPMCPrimaryBeforeEventCuts);
-       fHistminsignalifKaonPMCPrimaryBeforeEventCuts=new TH1F("HistminsignalifKaonPMCPrimaryBeforeEventCuts",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifKaonPMCPrimaryBeforeEventCuts);
-       fHistminsignalifProtonPMCPrimaryBeforeEventCuts=new TH1F("HistminsignalifProtonPMCPrimaryBeforeEventCuts",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifProtonPMCPrimaryBeforeEventCuts);
-               
-       fHistminsignalifAntiPionPMCPrimaryBeforeEventCuts=new TH1F("HistminsignalifAntiPionPMCPrimaryBeforeEventCuts",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiPionPMCPrimaryBeforeEventCuts);
-       fHistminsignalifAntiKaonPMCPrimaryBeforeEventCuts=new TH1F("HistminsignalifAntiKaonPMCPrimaryBeforeEventCuts",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiKaonPMCPrimaryBeforeEventCuts);
-       fHistminsignalifAntiProtonPMCPrimaryBeforeEventCuts=new TH1F("HistminsignalifAntiProtonPMCPrimaryBeforeEventCuts",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiProtonPMCPrimaryBeforeEventCuts);
-       
-       fHistminsignalifPionPMCPrimaryBeforeEventCutswithgoodZvertex=new TH1F("HistminsignalifPionPMCPrimaryBeforeEventCutswithgoodZvertex",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifPionPMCPrimaryBeforeEventCutswithgoodZvertex);
-       fHistminsignalifKaonPMCPrimaryBeforeEventCutswithgoodZvertex=new TH1F("HistminsignalifKaonPMCPrimaryBeforeEventCutswithgoodZvertex",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifKaonPMCPrimaryBeforeEventCutswithgoodZvertex);
-       fHistminsignalifProtonPMCPrimaryBeforeEventCutswithgoodZvertex=new TH1F("HistminsignalifProtonPMCPrimaryBeforeEventCutswithgoodZvertex",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifProtonPMCPrimaryBeforeEventCutswithgoodZvertex);
-               
-       fHistminsignalifAntiPionPMCPrimaryBeforeEventCutswithgoodZvertex=new TH1F("HistminsignalifAntiPionPMCPrimaryBeforeEventCutswithgoodZvertex",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiPionPMCPrimaryBeforeEventCutswithgoodZvertex);
-       fHistminsignalifAntiKaonPMCPrimaryBeforeEventCutswithgoodZvertex=new TH1F("HistminsignalifAntiKaonPMCPrimaryBeforeEventCutswithgoodZvertex",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiKaonPMCPrimaryBeforeEventCutswithgoodZvertex);
-       fHistminsignalifAntiProtonPMCPrimaryBeforeEventCutswithgoodZvertex=new TH1F("HistminsignalifAntiProtonPMCPrimaryBeforeEventCutswithgoodZvertex",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiProtonPMCPrimaryBeforeEventCutswithgoodZvertex);
-       
-       fHistminsignalifPionPMCPrimaryAfterEventCutsBeforeVertexZ=new TH1F("HistminsignalifPionPMCPrimaryAfterEventCutsBeforeVertexZ",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifPionPMCPrimaryAfterEventCutsBeforeVertexZ);
-       fHistminsignalifKaonPMCPrimaryAfterEventCutsBeforeVertexZ=new TH1F("HistminsignalifKaonPMCPrimaryAfterEventCutsBeforeVertexZ",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifKaonPMCPrimaryAfterEventCutsBeforeVertexZ);
-       fHistminsignalifProtonPMCPrimaryAfterEventCutsBeforeVertexZ=new TH1F("HistminsignalifProtonPMCPrimaryAfterEventCutsBeforeVertexZ",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifProtonPMCPrimaryAfterEventCutsBeforeVertexZ);
-               
-       fHistminsignalifAntiPionPMCPrimaryAfterEventCutsBeforeVertexZ=new TH1F("HistminsignalifAntiPionPMCPrimaryAfterEventCutsBeforeVertexZ",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiPionPMCPrimaryAfterEventCutsBeforeVertexZ);
-       fHistminsignalifAntiKaonPMCPrimaryAfterEventCutsBeforeVertexZ=new TH1F("HistminsignalifAntiKaonPMCPrimaryAfterEventCutsBeforeVertexZ",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiKaonPMCPrimaryAfterEventCutsBeforeVertexZ);
-       fHistminsignalifAntiProtonPMCPrimaryAfterEventCutsBeforeVertexZ=new TH1F("HistminsignalifAntiProtonPMCPrimaryAfterEventCutsBeforeVertexZ",";Pt[GeV/c]",kPtBins,binsPtDummy);
-       flist->Add(fHistminsignalifAntiProtonPMCPrimaryAfterEventCutsBeforeVertexZ);
-       
-       
-       
-       fDCAXYZforcleanPionsMCPrimary=new TH3F("fDCAXYZforcleanPionsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPionsMCPrimary);
-       fDCAXYZforcleanAntiPionsMCPrimary=new TH3F("fDCAXYZforcleanAntiPionsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPionsMCPrimary);
-       fDCAXYZforcleanProtonsMCPrimary=new TH3F("fDCAXYZforcleanProtonsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanProtonsMCPrimary);
-       fDCAXYZforcleanAntiProtonsMCPrimary=new TH3F("fDCAXYZforcleanAntiProtonsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiProtonsMCPrimary);
-       
-       fDCAXYZforcleanPionsWD=new TH3F("fDCAXYZforcleanPionsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPionsWD);
-       fDCAXYZforcleanAntiPionsWD=new TH3F("fDCAXYZforcleanAntiPionsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPionsWD);
-       //Secondrary Protons weak deacy
-       
-       fDCAXYZforcleanProtonsWD=new TH3F("fDCAXYZforcleanProtonsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanProtonsWD);
-       fDCAXYZforcleanAntiProtonsWD=new TH3F("fDCAXYZforcleanAntiProtonsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiProtonsWD);
-
-       fDCAXYZforcleanPionsHI=new TH3F("fDCAXYZforcleanPionsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPionsHI);
-       fDCAXYZforcleanAntiPionsHI=new TH3F("fDCAXYZforcleanAntiPionsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPionsHI);
-       //Secondrary Protons Hadronic
-       fDCAXYZforcleanProtonsHI=new TH3F("fDCAXYZforcleanProtonsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanProtonsHI);
-       fDCAXYZforcleanAntiProtonsHI=new TH3F("fDCAXYZforcleanAntiProtonsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiProtonsHI);
-       //Secondrary Pions mu el
-       fDCAXYZforcleanPionsMEPrimary=new TH3F("fDCAXYZforcleanPionsMEPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPionsMEPrimary);
-       fDCAXYZforcleanAntiPionsMEPrimary=new TH3F("fDCAXYZforcleanAntiPionsMEPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPionsMEPrimary);
-       fDCAXYZforcleanPionsMESecondary=new TH3F("fDCAXYZforcleanPionsMESecondary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPionsMESecondary);
-       fDCAXYZforcleanAntiPionsMESecondary=new TH3F("fDCAXYZforcleanAntiPionsMESecondary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPionsMESecondary);
-       
-       fDCAXYZforcleanPionsR=new TH3F("fDCAXYZforcleanPionsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanPionsR);
-       fDCAXYZforcleanAntiPionsR=new TH3F("fDCAXYZforcleanAntiPionsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiPionsR);
-       //Secondrary Protons Hadronic
-       fDCAXYZforcleanProtonsR=new TH3F("fDCAXYZforcleanProtonsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanProtonsR);
-       fDCAXYZforcleanAntiProtonsR=new TH3F("fDCAXYZforcleanAntiProtonsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZforcleanAntiProtonsR);
-       
-       
-       
-       fDCAXYZOpenforcleanPionsMCPrimary=new TH3F("fDCAXYZOpenforcleanPionsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPionsMCPrimary);
-       fDCAXYZOpenforcleanAntiPionsMCPrimary=new TH3F("fDCAXYZOpenforcleanAntiPionsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPionsMCPrimary);
-       fDCAXYZOpenforcleanProtonsMCPrimary=new TH3F("fDCAXYZOpenforcleanProtonsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanProtonsMCPrimary);
-       fDCAXYZOpenforcleanAntiProtonsMCPrimary=new TH3F("fDCAXYZOpenforcleanAntiProtonsMCPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiProtonsMCPrimary);
-       
-       fDCAXYZOpenforcleanPionsWD=new TH3F("fDCAXYZOpenforcleanPionsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPionsWD);
-       fDCAXYZOpenforcleanAntiPionsWD=new TH3F("fDCAXYZOpenforcleanAntiPionsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPionsWD);
-       //Secondrary Protons weak deacy
-       
-       fDCAXYZOpenforcleanProtonsWD=new TH3F("fDCAXYZOpenforcleanProtonsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanProtonsWD);
-       fDCAXYZOpenforcleanAntiProtonsWD=new TH3F("fDCAXYZOpenforcleanAntiProtonsWD",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiProtonsWD);
-
-       fDCAXYZOpenforcleanPionsHI=new TH3F("fDCAXYZOpenforcleanPionsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPionsHI);
-       fDCAXYZOpenforcleanAntiPionsHI=new TH3F("fDCAXYZOpenforcleanAntiPionsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPionsHI);
-       //Secondrary Protons Hadronic
-       fDCAXYZOpenforcleanProtonsHI=new TH3F("fDCAXYZOpenforcleanProtonsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanProtonsHI);
-       fDCAXYZOpenforcleanAntiProtonsHI=new TH3F("fDCAXYZOpenforcleanAntiProtonsHI",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiProtonsHI);
-       //Secondrary Pions mu el
-       
-       fDCAXYZOpenforcleanPionsMEPrimary=new TH3F("fDCAXYZOpenforcleanPionsMEPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPionsMEPrimary);
-       fDCAXYZOpenforcleanAntiPionsMEPrimary=new TH3F("fDCAXYZOpenforcleanAntiPionsMEPrimary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPionsMEPrimary);
-       fDCAXYZOpenforcleanPionsMESecondary=new TH3F("fDCAXYZOpenforcleanPionsMESecondary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPionsMESecondary);
-       fDCAXYZOpenforcleanAntiPionsMESecondary=new TH3F("fDCAXYZOpenforcleanAntiPionsMESecondary",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPionsMESecondary);
-       
-       fDCAXYZOpenforcleanPionsR=new TH3F("fDCAXYZOpenforcleanPionsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanPionsR);
-       fDCAXYZOpenforcleanAntiPionsR=new TH3F("fDCAXYZOpenforcleanAntiPionsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiPionsR);
-       //Secondrary Protons Hadronic
-       fDCAXYZOpenforcleanProtonsR=new TH3F("fDCAXYZOpenforcleanProtonsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanProtonsR);
-       fDCAXYZOpenforcleanAntiProtonsR=new TH3F("fDCAXYZOpenforcleanAntiProtonsR",";Pt[GeV/c];dcaxy[cm];dcaz[cm]",kPtBins,binsPtDummy,kDCABins,binsDCADummy,kDCABins,binsDCADummy);
-       flist->Add(fDCAXYZOpenforcleanAntiProtonsR);
-       
-       
-       
-       fElectronsource=new TH2F("fElectronsource","electrons;Pt [GeV/c];Process",kPtBins,binsPtDummy, kMaxMCProcess,0,kMaxMCProcess);
-       flist->Add(fElectronsource);
-       fAntiElectronsource=new TH2F("fAntiElectronsource","positrons;Pt [GeV/c];Process",kPtBins,binsPtDummy, kMaxMCProcess,0,kMaxMCProcess);
-       flist->Add(fAntiElectronsource);
-       fMuonsource=new TH2F("fMuonsource","electrons;Pt [GeV/c];Process",kPtBins,binsPtDummy, kMaxMCProcess,0,kMaxMCProcess);
-       flist->Add(fMuonsource);
-        fAntiMuonsource=new TH2F("fAntiMuonsource","positrons;Pt [GeV/c];Process",kPtBins,binsPtDummy, kMaxMCProcess,0,kMaxMCProcess);
-       flist->Add(fAntiMuonsource);
-       
-       fPrimaryElectronsMother=new TH1F("fPrimaryElectronsMother",";pdg code",4990,10.5,5000.5);
-       flist->Add(fPrimaryElectronsMother);
-       
-       Double_t type[13]={-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5};
-       Double_t cutlevel[10]={0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5};
-       
-       fParticlesCutmonitoring=new TH3F("fParticlesCutmonitoring",";particle;cut;Pt [GeV/c]",12,type,9,cutlevel,kPtBins,binsPtDummy);
-
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(1,"pion");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(2,"kaon");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(3,"proton");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(4,"antipion");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(5,"antikaon");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(6,"antiproton");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(7,"pionfake");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(8,"kaonfake");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(9,"protonfake");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(10,"antipionfake");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(11,"antikaonfake");
-       fParticlesCutmonitoring->GetXaxis()->SetBinLabel(12,"antiprotonfake");
-       
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(1,"TPCin");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(2,"TPCrefit");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(3,"nTPCclu");  
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(4,"chi2");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(5,"ITSrefit");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(6,"SPDany");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(7,"standard");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(8,"ITSpid");
-       fParticlesCutmonitoring->GetYaxis()->SetBinLabel(9,"DCA");
-       flist->Add(fParticlesCutmonitoring);
-       
-       fVertexshift=new TH3F("fVertexshift",";#delta_{x};#delta_{y};#delta_{z}",50,-0.06,0.06,50,-0.06,0.06,50,-2,2);
-       flist->Add(fVertexshift);
-       
-       Double_t deltapttpc[41];
-       Double_t deltaptall[41];
-       for(int i=0;i<41;i++)
-       {
-               deltapttpc[i]=-0.8+i*(1.6/40);
-               deltaptall[i]=-0.2+i*(0.4/40);
-       }
-       fPtESDminusPtMCvPtESDafterallcuts= new TH3F("fPtESDminusPtMCvPtESDafterallcuts",";#delta_{PtESD-PtMC};PtESD;type",40,deltaptall,kPtBins,binsPtDummy,12,type);
-       flist->Add(fPtESDminusPtMCvPtESDafterallcuts);
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(1,"pion");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(2,"kaon");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(3,"proton");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(4,"antipion");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(5,"antikaon");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(6,"antiproton");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(7,"pionfake");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(8,"kaonfake");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(9,"protonfake");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(10,"antipionfake");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(11,"antikaonfake");
-       fPtESDminusPtMCvPtESDafterallcuts->GetZaxis()->SetBinLabel(12,"antiprotonfake");
-       
-       fPtESDminusPtMCvPtESDafterTPCcuts= new TH3F("fPtESDminusPtMCvPtESDafterTPCcuts",";#delta_{PtESD-PtMC};PtESD;type",40,deltapttpc,kPtBins,binsPtDummy,12,type);
-       flist->Add(fPtESDminusPtMCvPtESDafterTPCcuts);
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(1,"pion");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(2,"kaon");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(3,"proton");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(4,"antipion");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(5,"antikaon");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(6,"antiproton");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(7,"pionfake");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(8,"kaonfake");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(9,"protonfake");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(10,"antipionfake");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(11,"antikaonfake");
-       fPtESDminusPtMCvPtESDafterTPCcuts->GetZaxis()->SetBinLabel(12,"antiprotonfake");
-       
-       
-       fMulESDMulMCVz=new TH3F("fMulESDMulMCVz",";NtracksESD;NparticlesMC;Vrt_z ",50,0,50,100,0,100,20,-10,10);
-       flist->Add(fMulESDMulMCVz);
-       PostData(1,  flist);
-       Printf("end of CreateOutputObjects with MC");
-}
-//________________________________________________________________________
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::LocalInit() 
-{
-       //LocalInit
-       Printf("end of LocalInit");
-}
-
-//________________________________________________________________________
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::UserExec(Option_t *) 
-{
-       //UserExec
-       Bool_t isphysevent=0;
-       Bool_t isgoodvertex=0;
-       Bool_t isvxerteinZ=0;
-        fESD = dynamic_cast<AliESDEvent*> (InputEvent());
-       if (!fESD) 
-       {
-               Printf("ERROR: fESD not available");
-               return;
-       }
-       
-       Float_t refmultiplicity=fCutsMul->CountAcceptedTracks(fESD);
-       if(!fSPD)
-       {
-               if(fLowMultiplicity>-1)
-               {
-                       if(refmultiplicity<fLowMultiplicity)
-                               return;
-               }
-               if(fUpMultiplicity>-1)
-               {
-                       if(refmultiplicity>fUpMultiplicity)
-                               return;
-               }
-       }       
-       AliStack* stack=0x0;
-       Double_t mcXvertex=0.0;
-       Double_t mcYvertex=0.0;
-       Double_t mcZvertex=0.0;
-       
-       if(fMC)
-       {
-               AliMCEvent* mcEvent  = (AliMCEvent*) MCEvent();
-               //Printf("MC particles: %d", mcEvent->GetNumberOfTracks());
-               stack = mcEvent->Stack();
-               mcXvertex=mcEvent->GetPrimaryVertex()->GetX();
-               mcYvertex=mcEvent->GetPrimaryVertex()->GetY();
-               mcZvertex=mcEvent->GetPrimaryVertex()->GetZ();
-       }       
-       
-       
-       fHistStats->Fill(0);
-       //Event selection 
-       //if( ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()==0)        
-         UInt_t isSelected = 0;
-        if(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler())))
-               isSelected=((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
-       //Printf("Mask_selection %u %u", isSelected,AliVEvent::kMB);  
-        if(!(isSelected&AliVEvent::kMB))
-        {
-                isphysevent=0;
-               // Printf("No phys event.........\n");
-       }       
-       else
-       {
-                isphysevent=1;
-                if(!fHIsettings)
-                       fHistStats->Fill(1);
-       }
-       if(isphysevent&&fHIsettings)
-       {       
-               AliCentrality *centrality = fESD->GetCentrality();
-               if(!(fLowCentrality<0.0)&&fUpCentrality>0.0)
-               {
-                       if(!centrality->IsEventInCentralityClass(fLowCentrality,fUpCentrality,"V0M"))
-                               return;
-                       else
-                               fHistStats->Fill(1);
-               }       
-       }
-       //Printf("MC 1");
-       //Good vertex   
-       const AliESDVertex *vertex = 0x0;
-       if(isphysevent)
-       {
-               vertex = fESD->GetPrimaryVertexTracks();
-               if(vertex->GetNContributors()<1) 
-               {
-                       // SPD vertex
-                       vertex = fESD->GetPrimaryVertexSPD();
-                       if(vertex->GetNContributors()<1) 
-                       {
-                               //Printf("No good  Vertex.........\n");
-                               isgoodvertex=0;
-                       }
-                       else
-                       {
-                               isgoodvertex=1;
-                               //fHistStats->Fill(2);  
-                               fHistZVertexBeforeCut->Fill(vertex ->GetZ());
-                               fHistXYVertexBeforeCut->Fill(vertex ->GetX(),vertex ->GetY());
-                       }       
-               }
-               else
-               {
-                       isgoodvertex=1; 
-                       //fHistStats->Fill(2);  
-                       fHistZVertexBeforeCut->Fill(vertex ->GetZ());
-                       fHistXYVertexBeforeCut->Fill(vertex ->GetX(),vertex ->GetY()); 
-               }
-               if(isgoodvertex&&fUsePilerejection)
-               {
-                       if(fESD->IsPileupFromSPDInMultBins())
-                               isgoodvertex=0;
-               }
-               if(isgoodvertex)
-               {       
-                       if(TMath::Abs(vertex ->GetZ())>10.0)
-                       {
-                               //Printf("No good  Z of Vertex.........\n");
-                               isvxerteinZ=0;
-                       }
-                       else
-                               isvxerteinZ=1;
-               }       
-       }
-       
-       
-       if(fdovertexrescuts&&fMC)
-       {
-               if(vertex)
-               {
-                       cout<<TMath::Abs(vertex->GetX()-mcXvertex)<<" "<<TMath::Abs(vertex->GetY()-mcYvertex)<<" "<<TMath::Abs(vertex->GetZ()-mcZvertex)<<endl;
-                       if(TMath::Abs(vertex->GetX()-mcXvertex)>0.015||TMath::Abs(vertex->GetY()-mcYvertex)>0.015||TMath::Abs(vertex->GetZ()-mcZvertex)>0.15)
-                               isvxerteinZ=0;
-               }               
-       }  
-       Float_t spdCorr=-1.0;
-       if(isgoodvertex)
-       {
-               const AliMultiplicity *mult = fESD->GetMultiplicity();
-               Float_t nClusters[6]={0.0,0.0,0.0,0.0,0.0,0.0};
-               for(Int_t ilay=0; ilay<6; ilay++)
-               {
-                       nClusters[ilay] = (Float_t)mult->GetNumberOfITSClusters(ilay);
-               } 
-               spdCorr = AliESDUtils::GetCorrSPD2(nClusters[1],vertex->GetZ());
-               if(fSPD)
-               {
-                       if(fLowMultiplicity>-1)
-                       {
-                               if(((Int_t)spdCorr)<fLowMultiplicity)
-                               {
-                                       PostData(1,  flist);                            
-                                       return;
-                               }       
-                       }
-                       if(fUpMultiplicity>-1)
-                       {
-                               if(((Int_t)spdCorr)>fUpMultiplicity)
-                               {
-                                       PostData(1,  flist);
-                                       return;
-                               }       
-                       }               
-               }
-               fHistStats->Fill(2);
-       }
-       
-       //Printf("MC 2");
-       Int_t fMCmult=0;
-       if(stack&&fMC)//Looping over MC information of all events
-       {
-               Float_t minpt=0.0;
-               Float_t maxpt=0.0;
-               Float_t mineta=0.0;
-               Float_t maxeta=0.0;
-               //Printf("MC 12");
-               fCutsMul->GetPtRange(minpt,maxpt);
-               fCutsMul->GetEtaRange(mineta,maxeta);
-               fHistStats->Fill(8);
-               if(TMath::Abs(mcZvertex)<10.0)
-                       fHistStats->Fill(9);
-               for (int imc=0;imc<stack->GetNtrack();imc++)
-               {
-                       if(!(stack->IsPhysicalPrimary(imc)))
-                               continue;
-                       TParticle *particleMC = stack->Particle(imc);
-                       if(!particleMC)
-                               continue;
-                       Int_t pdgcodeMC = particleMC->GetPdgCode();
-                       if(!(pdgcodeMC==211||pdgcodeMC==-211||pdgcodeMC==321||pdgcodeMC==-321||pdgcodeMC==2212||pdgcodeMC==-2212))      
-                               continue;
-                       if(particleMC->Pt()>minpt&&particleMC->Pt()<maxpt&&particleMC->Eta()>mineta&&particleMC->Eta()<maxeta)
-                               fMCmult++;      
-                       if (TMath::Abs(particleMC->Y())>fYCut)
-                               continue;
-                       if (particleMC->Pt()>2.0)
-                               continue;
-                       //Printf("%d aa",imc);                  
-               //      Printf("MC 22");
-                       if(pdgcodeMC==211)      
-                               fHistminsignalifPionPMCPrimaryBeforeEventCuts->Fill(particleMC->Pt());
-                       if(pdgcodeMC==-211)     
-                               fHistminsignalifAntiPionPMCPrimaryBeforeEventCuts->Fill(particleMC->Pt());
-                       if(pdgcodeMC==321)
-                               fHistminsignalifKaonPMCPrimaryBeforeEventCuts->Fill(particleMC->Pt());
-                       if(pdgcodeMC==-321)
-                               fHistminsignalifAntiKaonPMCPrimaryBeforeEventCuts->Fill(particleMC->Pt());
-                       if(pdgcodeMC==2212)
-                               fHistminsignalifProtonPMCPrimaryBeforeEventCuts->Fill(particleMC->Pt());
-                       if(pdgcodeMC==-2212)
-                               fHistminsignalifAntiProtonPMCPrimaryBeforeEventCuts->Fill(particleMC->Pt());
-                       
-                       if(TMath::Abs(mcZvertex)<10.0)
-                       {               
-                               if(pdgcodeMC==211)      
-                                       fHistminsignalifPionPMCPrimaryBeforeEventCutswithgoodZvertex->Fill(particleMC->Pt());
-                               if(pdgcodeMC==-211)     
-                                       fHistminsignalifAntiPionPMCPrimaryBeforeEventCutswithgoodZvertex->Fill(particleMC->Pt());
-                               if(pdgcodeMC==321)
-                                       fHistminsignalifKaonPMCPrimaryBeforeEventCutswithgoodZvertex->Fill(particleMC->Pt());
-                               if(pdgcodeMC==-321)
-                                       fHistminsignalifAntiKaonPMCPrimaryBeforeEventCutswithgoodZvertex->Fill(particleMC->Pt());
-                               if(pdgcodeMC==2212)
-                                       fHistminsignalifProtonPMCPrimaryBeforeEventCutswithgoodZvertex->Fill(particleMC->Pt());
-                               if(pdgcodeMC==-2212)
-                                       fHistminsignalifAntiProtonPMCPrimaryBeforeEventCutswithgoodZvertex->Fill(particleMC->Pt());
-                       }
-                       if(!isphysevent)
-                               continue;
-                       if(!isgoodvertex)
-                               continue;       
-                       if(pdgcodeMC==211)      
-                               fHistminsignalifPionPMCPrimaryAfterEventCutsBeforeVertexZ->Fill(particleMC->Pt());
-                       if(pdgcodeMC==-211)     
-                               fHistminsignalifAntiPionPMCPrimaryAfterEventCutsBeforeVertexZ->Fill(particleMC->Pt());
-                       if(pdgcodeMC==321)
-                               fHistminsignalifKaonPMCPrimaryAfterEventCutsBeforeVertexZ->Fill(particleMC->Pt());
-                       if(pdgcodeMC==-321)
-                               fHistminsignalifAntiKaonPMCPrimaryAfterEventCutsBeforeVertexZ->Fill(particleMC->Pt());
-                       if(pdgcodeMC==2212)
-                               fHistminsignalifProtonPMCPrimaryAfterEventCutsBeforeVertexZ->Fill(particleMC->Pt());
-                       if(pdgcodeMC==-2212)
-                               fHistminsignalifAntiProtonPMCPrimaryAfterEventCutsBeforeVertexZ->Fill(particleMC->Pt());        
-                       if(!isvxerteinZ)
-                               continue;               
-                       if(pdgcodeMC==211)      
-                       {
-                               fHistminsignalifPionPMCPrimary->Fill(particleMC->Pt());
-                       }       
-                       if(pdgcodeMC==-211)
-                       {       
-                               fHistminsignalifAntiPionPMCPrimary->Fill(particleMC->Pt());
-                       }               
-                       if(pdgcodeMC==321)
-                       {       
-                               fHistminsignalifKaonPMCPrimary->Fill(particleMC->Pt());
-                       }       
-                       if(pdgcodeMC==-321)
-                       {       
-                               fHistminsignalifAntiKaonPMCPrimary->Fill(particleMC->Pt());
-                       }       
-                       if(pdgcodeMC==2212)
-                       {       
-                               fHistminsignalifProtonPMCPrimary->Fill(particleMC->Pt());
-                       }       
-                       if(pdgcodeMC==-2212)
-                       {       
-                               fHistminsignalifAntiProtonPMCPrimary->Fill(particleMC->Pt());
-                       }               
-                                                       
-               }
-       }
-       else if(fMC)
-           return;
-       else 
-               Printf("Data mode \n"); 
-                        
-       if(!(isphysevent&&isgoodvertex&&isvxerteinZ))
-       {
-               //Printf("No Good event.........\n");
-               PostData(1,  flist);
-               //Printf("end of Exec");
-               return;
-       }
-       
-       
-
-       fHistStandartMulvSPD2->Fill(refmultiplicity,spdCorr);
-       fHistStats->Fill(3);
-               
-       fHistZVertexAfterCut->Fill(vertex ->GetZ());
-       fHistXYVertexAfterCut->Fill(vertex ->GetX(),vertex ->GetY()); 
-       
-       if(fMC)
-       {
-               fVertexshift->Fill(vertex->GetX()-mcXvertex,vertex->GetY()-mcYvertex,vertex->GetZ()-mcZvertex);
-               fMulESDMulMCVz->Fill(refmultiplicity,fMCmult,vertex->GetZ());
-       }               
-       if(fCuts==0)
-       {
-               //Printf("No CUTS Defined.........\n");
-               PostData(1,  flist);
-               //Printf("end of Exec");
-               return;
-       }
-       
-       //Printf("There are %d tracks in this event", fESD->GetNumberOfTracks());
-        Int_t nTracks=fESD->GetNumberOfTracks();
-       
-       Int_t mynumberoftracks=0;
-        AliESDtrack *trackESD=0;
-        
-       const Float_t pionmass=AliPID::ParticleMass(2);
-       const Float_t kaonmass=AliPID::ParticleMass(3);
-       const Float_t protonmass=AliPID::ParticleMass(4);
-
-       for(int tr1=0;tr1<nTracks;tr1++)
-       {       
-               
-               trackESD=fESD->GetTrack(tr1);   
-               //fHistStats->Fill(2);
-               
-               Double_t pt=trackESD->Pt()*trackESD->GetSign();
-               Double_t p=trackESD->P();
-               Double_t eta=trackESD->Eta();
-               Double_t phi=trackESD->Phi();
-               Float_t dcaxy=0.0; 
-               Float_t dcaz=0.0;
-               trackESD->GetImpactParameters(dcaxy,dcaz);
-               Double_t pz=trackESD->Pz();
-                UShort_t nTPCclusters=trackESD->GetTPCNcls();
-                Float_t chi2=trackESD->GetTPCchi2();
-                if(nTPCclusters>0)
-                       chi2=chi2/((Float_t)nTPCclusters);
-               else
-                       chi2=-1.0;
-               if(!trackESD->IsOn(AliESDtrack::kTPCin))
-                       continue;                       
-               //Y assumtion
-               Float_t yforpion=0.5*TMath::Log((TMath::Sqrt(pionmass*pionmass+p*p)+pz)/(TMath::Sqrt(pionmass*pionmass+p*p)-pz));
-               Float_t yforkaon=0.5*TMath::Log((TMath::Sqrt(kaonmass*kaonmass+p*p)+pz)/(TMath::Sqrt(kaonmass*kaonmass+p*p)-pz));
-               Float_t yforproton=0.5*TMath::Log((TMath::Sqrt(protonmass*protonmass+p*p)+pz)/(TMath::Sqrt(protonmass*protonmass+p*p)-pz));
-               
-               if(TMath::Abs(yforpion)>fYCut&&TMath::Abs(yforkaon)>fYCut&&TMath::Abs(yforproton)>fYCut) //go trought one y cut
-                       continue;
-               Int_t label=-1;
-               if(fMC)
-                       label=trackESD->GetLabel();
-               //if(label<0)   
-       //      Printf("label %d %f %f %f %f %d %f %f\n",label,p,pt,eta,chi2,nTPCclusters,dcaxy,dcaz);  
-               Int_t pdgcode=0;
-               Int_t primary=0;
-               Double_t chargeMC=1.0;
-               Float_t etaMC=10.0;
-               Float_t ptMC=10.0;
-               Int_t   uniqueID=-1;
-               Int_t pdgcodefake=0;
-               Int_t primaryfake=0;
-               TParticle *particle2=0x0;
-               if(label>=0&&stack&&fMC)
-               {
-                       primary=stack->IsPhysicalPrimary(TMath::Abs(label));
-                       particle2 = stack->Particle(TMath::Abs(label));
-                       pdgcode=particle2->GetPdgCode();
-                       chargeMC=particle2->GetPDG(0)->Charge()/3.0;
-                       etaMC=particle2->Eta();
-                       ptMC=particle2->Pt();
-                       uniqueID=particle2->GetUniqueID();
-               }
-               if(label<0&&stack&&fMC)
-               {
-                       primaryfake=stack->IsPhysicalPrimary(TMath::Abs(label));
-                       particle2 = stack->Particle(TMath::Abs(label));
-                       pdgcodefake=particle2->GetPdgCode();
-                       uniqueID=particle2->GetUniqueID();
-                       
-               }       
-               
-               Int_t typeParticle=-10;
-               if((primaryfake||primary))
-               {
-                       
-                       if((pdgcodefake==211||pdgcode==211)&&TMath::Abs(yforpion)<fYCut)
-                               typeParticle=0;
-                       if((pdgcodefake==321||pdgcode==321)&&TMath::Abs(yforkaon)<fYCut)
-                               typeParticle=1;
-                       if((pdgcodefake==2212||pdgcode==2212)&&TMath::Abs(yforproton)<fYCut)
-                               typeParticle=2;
-                       if((pdgcodefake==-211||pdgcode==-211)&&TMath::Abs(yforpion)<fYCut)
-                               typeParticle=3;
-                       if((pdgcodefake==-321||pdgcode==-321)&&TMath::Abs(yforkaon)<fYCut)
-                               typeParticle=4;
-                       if((pdgcodefake==-2212||pdgcode==-2212)&&TMath::Abs(yforproton)<fYCut)
-                               typeParticle=5;
-                       
-                       if(primaryfake) 
-                               typeParticle+=6;
-               }       
-               
-               fTracksCutmonitoring->Fill(1,TMath::Abs(pt));
-               if(fMC)
-               {
-                       fParticlesCutmonitoring->Fill(typeParticle,1,TMath::Abs(pt));   
-                       if(trackESD->IsOn(AliESDtrack::kTPCrefit))
-                       {
-                               fParticlesCutmonitoring->Fill(typeParticle,2,TMath::Abs(pt));
-                               if(nTPCclusters>70)
-                               {
-                                       fParticlesCutmonitoring->Fill(typeParticle,3,TMath::Abs(pt));
-                                       if(chi2<4.0)
-                                       {
-                                               fParticlesCutmonitoring->Fill(typeParticle,4,TMath::Abs(pt));
-                                               fPtESDminusPtMCvPtESDafterTPCcuts->Fill(TMath::Abs(pt)-particle2->Pt(),TMath::Abs(pt),typeParticle);
-                                               if(trackESD->IsOn(AliESDtrack::kITSrefit))
-                                               {
-                                                       fParticlesCutmonitoring->Fill(typeParticle,5,TMath::Abs(pt));
-                                                       if(trackESD->HasPointOnITSLayer(0)||trackESD->HasPointOnITSLayer(1))
-                                                       {
-                                                               fParticlesCutmonitoring->Fill(typeParticle,6,TMath::Abs(pt));
-                                                       }
-                                               }
-                                       }               
-                                       
-                               }       
-                       }
-               }       
-                       
-                       
-               fHistPhiPtBeforeCuts->Fill(phi,pt);//phi pt
-               fHistEtaPtBeforeCuts->Fill(eta,pt);
-               fHistDCABeforeCuts->Fill(dcaxy,dcaz);   
-               
-               
-
-                       
-               //standart cuts         
-               if(fCuts->AcceptTrack(trackESD)==kFALSE)
-                       continue;
-               fTracksCutmonitoring->Fill(2,TMath::Abs(pt));   
-               if(fMC)
-                       fParticlesCutmonitoring->Fill(typeParticle,7,TMath::Abs(pt));
-               //Tpc pid cut for debug 
-               Double_t pinTPC=trackESD->GetTPCInnerParam()->GetP();//momentum in primary vertex taken from TPC tracking
-               Double_t pinTPCglobal=trackESD->GetInnerParam()->GetP();//momentum at the inner  wall of the TPC taken from global tracking
-               Float_t sigKaon= fESDpid->GetTPCResponse().GetExpectedSignal(pinTPCglobal, AliPID::kKaon);
-               Float_t sigProton= fESDpid->GetTPCResponse().GetExpectedSignal(pinTPCglobal, AliPID::kProton);
-               Double_t tpcSignal =trackESD ->GetTPCsignal();
-               
-               if(fTPCPIDCUT)
-               {
-                       if(fTPCPIDCUT->AcceptTrack(trackESD,fESD)==kFALSE)
-                               continue;
-               }
-                               
-               Bool_t cutDCA=SelectOnImpPar(trackESD); 
-               
-               //fHistStats->Fill(4);
-               Double_t tmpQESD[4]={-1.0,-1.0,-1.0,-1.0};
-               trackESD->GetITSdEdxSamples(tmpQESD);
-               if(fCorrectSDD&&fMC)
-                       CorrectSDD(tmpQESD);    
-               if(fCorrectSSD&&fMC)
-                       CorrectSSD(tmpQESD);    
-               Int_t nSSDSDD=0;
-               Int_t nSSDSDDall=0;
-               
-               
-               
-               if(TMath::Abs(yforpion)<fYCut&&cutDCA) 
-                       fHistNtrackwithstandardcuts->Fill(TMath::Abs(pt),0);
-               if(TMath::Abs(yforkaon)<fYCut&&cutDCA) 
-               {
-                       fHistNtrackwithstandardcuts->Fill(TMath::Abs(pt),1);
-                       if(pt>0.0)
-                               fHistSignalinTPCKaonforstandardcuts->Fill(pt,(tpcSignal-sigKaon)/sigKaon);
-                       else
-                               fHistSignalinTPCAntiKaonforstandardcuts->Fill(TMath::Abs(pt),(tpcSignal-sigKaon)/sigKaon);      
-               }
-               if(TMath::Abs(yforproton)<fYCut&&cutDCA) 
-               {
-                       fHistNtrackwithstandardcuts->Fill(TMath::Abs(pt),2);
-                       if(pt>0.0)
-                               fHistSignalinTPCProtonforstandardcuts->Fill(pt,(tpcSignal-sigProton)/sigProton);
-                       else
-                               fHistSignalinTPCAntiProtonforstandardcuts->Fill(TMath::Abs(pt),(tpcSignal-sigProton)/sigProton);        
-               }               
-               
-                       
-               for (int iL=0;iL<4;iL++)
-               {
-                       if(tmpQESD[iL]>fchargeCut)
-                               nSSDSDD++;
-                       if(tmpQESD[iL]>0.0)
-                               nSSDSDDall++;   
-               }       
-               if(nSSDSDDall>=3)
-                       fHistStats->Fill(4);
-               //ITS PId cut
-               if(nSSDSDD<3)
-               {
-               //      cout<<"BAD "<<stack->Particle(TMath::Abs(trackESD->GetLabel()))->GetPdgCode()<<endl;
-                       continue;
-               }       
-               fTracksCutmonitoring->Fill(3,TMath::Abs(pt));
-               if(fMC)
-                       fParticlesCutmonitoring->Fill(typeParticle,8,TMath::Abs(pt));
-               if(cutDCA)
-               {
-                       fTracksCutmonitoring->Fill(4,TMath::Abs(pt));
-                       if(fMC)
-                       {
-                               fParticlesCutmonitoring->Fill(typeParticle,9,TMath::Abs(pt));   
-                               fPtESDminusPtMCvPtESDafterallcuts->Fill(TMath::Abs(pt)-particle2->Pt(),TMath::Abs(pt),typeParticle);
-                       }               
-               }
-               if(TMath::Abs(yforpion)<fYCut&&cutDCA) 
-               {
-                       fHistNtrackwithITSPIDcuts->Fill(TMath::Abs(pt),0);
-                       if(pt>0.0)
-                       {
-                                fPionNTPCClusters->Fill(pt,nTPCclusters);
-                                fPionchi2->Fill(pt,chi2);
-                       }
-                       else
-                       {
-                               fAntiPionNTPCClusters->Fill(TMath::Abs(pt),nTPCclusters);
-                               fAntiPionchi2->Fill(TMath::Abs(pt),chi2);
-                       }               
-               }       
-               if(TMath::Abs(yforkaon)<fYCut&&cutDCA) 
-               {
-                       fHistNtrackwithITSPIDcuts->Fill(TMath::Abs(pt),1);
-                       if(pt>0.0)
-                               fHistSignalinTPCKaonforITSPIDcuts->Fill(pt,(tpcSignal-sigKaon)/sigKaon);
-                       else
-                               fHistSignalinTPCAntiKaonforITSPIDcuts->Fill(TMath::Abs(pt),(tpcSignal-sigKaon)/sigKaon);        
-               }       
-               if(TMath::Abs(yforproton)<fYCut&&cutDCA) 
-               {
-                       fHistNtrackwithITSPIDcuts->Fill(TMath::Abs(pt),2);
-                       if(pt>0.0)
-                               fHistSignalinTPCProtonforITSPIDcuts->Fill(pt,(tpcSignal-sigProton)/sigProton);
-                       else
-                               fHistSignalinTPCAntiProtonforITSPIDcuts->Fill(TMath::Abs(pt),(tpcSignal-sigProton)/sigProton);  
-               }
-               fHistStats->Fill(5);                            
-               fHistPhiPtAfterCuts->Fill(phi,pt);
-               fHistEtaPtAfterCuts->Fill(eta,pt);
-               fHistDCAAfterCuts->Fill(dcaxy,dcaz);
-               fHistPminusTPCinPAfterCuts->Fill(pinTPC-p,pinTPC);      
-               fHistPminusTPCinPglobalAfterCuts->Fill(pinTPC-p,pinTPCglobal);
-               if(tmpQESD[0]>fchargeCut)
-               {
-                       fHistL3dEP->Fill(p,tmpQESD[0]);
-                       fHistL3dETPCinP->Fill(pinTPC,tmpQESD[0]);
-               }       
-               if(tmpQESD[1]>fchargeCut)
-               {
-                       fHistL4dEP->Fill(p,tmpQESD[1]);
-                       fHistL4dETPCinP->Fill(pinTPC,tmpQESD[1]);
-               }       
-               if(tmpQESD[2]>fchargeCut)
-               {
-                       fHistL5dEP->Fill(p,tmpQESD[2]);
-                       fHistL5dETPCinP->Fill(pinTPC,tmpQESD[2]);
-               }
-               if(tmpQESD[3]>fchargeCut)
-               {
-                       fHistL6dEP->Fill(p,tmpQESD[3]);
-                       fHistL6dETPCinP->Fill(pinTPC,tmpQESD[3]);
-               }
-               Float_t myITSsignal=0.0;
-               Float_t minITSsignal=0.0;
-               Int_t whichLmin=-1;
-               Int_t nosignaL=-1;
-               if(nSSDSDD==3)
-               {
-                       Double_t tmp2QESD[3]={-1.0,-1.0,-1.0};
-                       Int_t iLnotZero=0;
-                       for (int iL=0;iL<4;iL++)
-                       {
-                               if(tmpQESD[iL]>fchargeCut)
-                               {
-                                       tmp2QESD[iLnotZero]=tmpQESD[iL];
-                                       iLnotZero++;
-                               }
-                               else
-                                       nosignaL=iL;
-                       }
-                       whichLmin=TMath::LocMin(3,tmp2QESD);
-                       if(nosignaL>-1&&nosignaL<=whichLmin)
-                               whichLmin++;
-                       minITSsignal=TMath::MinElement(3,tmp2QESD);
-                       myITSsignal=MyITSsignalusing3points(tmp2QESD);
-               }       
-               if(nSSDSDD==4)
-               {
-                       myITSsignal=MyITSsignalusing4points(tmpQESD);
-                       whichLmin=TMath::LocMin(4,tmpQESD);     
-                       minITSsignal=TMath::MinElement(4,tmpQESD);
-               }               
-       
-               if(whichLmin==0)
-                       fHistwhichhasmin->Fill(0.0,tmpQESD[0]);
-               if(whichLmin==1)
-                       fHistwhichhasmin->Fill(1.0,tmpQESD[1]);
-               if(whichLmin==2)
-                       fHistwhichhasmin->Fill(2.0,tmpQESD[2]);
-               if(whichLmin==3)
-                       fHistwhichhasmin->Fill(3.0,tmpQESD[3]);
-               if(pt>0.0)
-               {                       
-                       fHistMydEPpositive->Fill(p,myITSsignal);
-                       fHistMydETPCinPglobalpositive->Fill(pinTPCglobal,myITSsignal);
-                       fHistMydETPCinPpositive->Fill(pinTPC,myITSsignal);
-               }
-               else
-               {
-                       fHistMydEPnegative->Fill(p,myITSsignal);
-                       fHistMydETPCinPglobalnegative->Fill(pinTPCglobal,myITSsignal);
-                       fHistMydETPCinPnegative->Fill(pinTPC,myITSsignal);
-               }       
-               Float_t signaltouse=myITSsignal;        
-                       
-               
-               Float_t itspidsignalforpions=TMath::Log(signaltouse)-TMath::Log(fESDpid->GetITSResponse().Bethe(p,pionmass,kFALSE));
-               Float_t itspidsignalforkaons=TMath::Log(signaltouse)-TMath::Log(fESDpid->GetITSResponse().Bethe(p,kaonmass,kFALSE));
-               Float_t itspidsignalforprotons=TMath::Log(signaltouse)-TMath::Log(fESDpid->GetITSResponse().Bethe(p,protonmass,kFALSE));
-               if(cutDCA)
-               {
-                       mynumberoftracks++;
-                       if(nSSDSDD==4)
-                               fHistMysignalminusESD->Fill((signaltouse-trackESD->GetITSsignal())/signaltouse);        
-               }
-               //Printf("Select on clean \n"); 
-               if(TMath::Abs(yforpion)<=fYCut)
-               {
-                       Float_t weight=1.0;
-                       if(fMC)
-                               weight=GetWeight(label,stack);  
-                       if(pt>0.0)
-                       {
-                               if(cutDCA)
-                               {
-                                       if(fMC)
-                                               fHistminsignalifPionP->Fill(pt,itspidsignalforpions,weight);
-                                       else
-                                               fHistminsignalifPionP->Fill(pt,itspidsignalforpions);
-                                       if(itspidsignalforpions>-0.5&&itspidsignalforpions<0.2) //select on clean
-                                       {
-                                               fDCAXYZforcleanPions->Fill(pt,dcaxy,dcaz);
-                                               if(fMC)
-                                               {
-                                                       if(primary&&pdgcode==211)
-                                                               fDCAXYZforcleanPionsMCPrimary->Fill(pt,dcaxy,dcaz);
-                                                       else if(!primary&&pdgcode==211&&uniqueID==kPDecay)
-                                                               fDCAXYZforcleanPionsWD->Fill(pt,dcaxy,dcaz);
-                                                       else if(!primary&&pdgcode==211&&uniqueID==kPHadronic)
-                                                               fDCAXYZforcleanPionsHI->Fill(pt,dcaxy,dcaz);
-                                                       else if(primary&&(pdgcode==-11||pdgcode==-13))
-                                                               fDCAXYZforcleanPionsMEPrimary->Fill(pt,dcaxy,dcaz);
-                                                       else if(!primary&&(pdgcode==-11||pdgcode==-13))
-                                                               fDCAXYZforcleanPionsMESecondary->Fill(pt,dcaxy,dcaz);
-                                                       else
-                                                               fDCAXYZforcleanPionsR->Fill(pt,dcaxy,dcaz);
-                                       
-                                               }                          
-                                       }        //select on clean
-                                       if(primary)
-                                       {       
-                                               if(pdgcode==211)
-                                                       fHistminsignalifPionPPrimary->Fill(pt,itspidsignalforpions);
-                                       }
-                                       else 
-                                       {
-                                               if(pdgcode==211)                                                        
-                                                       fHistminsignalifPionPSecondary->Fill(pt,itspidsignalforpions,weight);
-                                       //cout<<pdgcode<<" "<<  uniqueID<<"  "<<kPDecay<<" "<<kPHadronic<<endl;
-                                       }                                               
-                                       if(pdgcode==-11||pdgcode==-13)
-                                       {
-                                               fHistminsignalifMuEPositiveP->Fill(pt,itspidsignalforpions);
-                                               if(!primary)
-                                               {
-                                                       if(pdgcode==-11)
-                                                       {
-                                                               fHistStats->Fill(6);
-                                                               fAntiElectronsource->Fill(pt,uniqueID);
-                                                       }       
-                                                       else if(pdgcode==-13)   
-                                                       {
-                                                               fHistStats->Fill(7);
-                                                               fAntiMuonsource->Fill(pt,uniqueID);
-                                                       }
-                                               }
-                                               else if(primary&&pdgcode==-11)
-                                               {
-                                                       Printf("%d Mom",particle2->GetFirstMother());
-                                                       if(particle2->GetFirstMother()>-1)
-                                                               fPrimaryElectronsMother->Fill(TMath::Abs(stack->Particle(particle2->GetFirstMother())->GetPdgCode()));
-                                                       else
-                                                               fPrimaryElectronsMother->Fill(-1);
-                                                       fAntiElectronsource->Fill(pt,0);
-                                               }                       
-                                               else if(primary&&pdgcode==-13)
-                                                       fAntiMuonsource->Fill(pt,0);
-                                       }
-                                       if(pdgcodefake==211)
-                                       {
-                                               if(primaryfake)
-                                                       fHistminsignalifPionPrimaryfake->Fill(pt,itspidsignalforpions);
-                                               else
-                                                       fHistminsignalifPionSecondaryfake->Fill(pt,itspidsignalforpions);       
-                                       }       
-                               }                               
-                               if(itspidsignalforpions>-0.5&&itspidsignalforpions<0.2) //select on clean
-                               {
-                                       fDCAXYZOpenforcleanPions->Fill(pt,dcaxy,dcaz);
-                                       if(fMC)
-                                       {
-                                               if(primary&&pdgcode==211)
-                                                       fDCAXYZOpenforcleanPionsMCPrimary->Fill(pt,dcaxy,dcaz);
-                                               else if(!primary&&pdgcode==211&&uniqueID==kPDecay)       
-                                                       fDCAXYZOpenforcleanPionsWD->Fill(pt,dcaxy,dcaz);
-                                               else if(!primary&&pdgcode==211&&uniqueID==kPHadronic)
-                                                       fDCAXYZOpenforcleanPionsHI->Fill(pt,dcaxy,dcaz);
-                                               else if(primary&&(pdgcode==-11||pdgcode==-13))  
-                                                       fDCAXYZOpenforcleanPionsMEPrimary->Fill(pt,dcaxy,dcaz);
-                                               else if(!primary&&(pdgcode==-11||pdgcode==-13)) 
-                                                       fDCAXYZOpenforcleanPionsMESecondary->Fill(pt,dcaxy,dcaz);       
-                                               else
-                                                       fDCAXYZOpenforcleanPionsR->Fill(pt,dcaxy,dcaz);                                 
-                                       }                          
-                               }                       
-                       }
-                       else    
-                       {
-                               if(cutDCA)
-                               {
-                                       if(fMC)
-                                               fHistminsignalifAntiPionP->Fill(TMath::Abs(pt),itspidsignalforpions,weight);
-                                       else    
-                                               fHistminsignalifAntiPionP->Fill(TMath::Abs(pt),itspidsignalforpions);
-                                       if(itspidsignalforpions>-0.5&&itspidsignalforpions<0.2)//select on clean
-                                       {
-                                               fDCAXYZforcleanAntiPions->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               if(fMC)
-                                               {
-                                                       if(primary&&pdgcode==-211)
-                                                               fDCAXYZforcleanAntiPionsMCPrimary->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(!primary&&pdgcode==-211&&uniqueID==kPDecay)      
-                                                               fDCAXYZforcleanAntiPionsWD->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(!primary&&pdgcode==-211&&uniqueID==kPHadronic)
-                                                               fDCAXYZforcleanAntiPionsHI->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(primary&&(pdgcode==11||pdgcode==13))    
-                                                               fDCAXYZforcleanAntiPionsMEPrimary->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(!primary&&(pdgcode==11||pdgcode==13))   
-                                                               fDCAXYZforcleanAntiPionsMESecondary->Fill(TMath::Abs(pt),dcaxy,dcaz);   
-                                                       else
-                                                               fDCAXYZforcleanAntiPionsR->Fill(TMath::Abs(pt),dcaxy,dcaz);      
-                                               }                               
-                                       }       //select on clean
-                                       if(primary)
-                                       {
-                                               if(pdgcode==-211)
-                                                       fHistminsignalifAntiPionPPrimary->Fill(TMath::Abs(pt),itspidsignalforpions);
-                                       }
-                                       else 
-                                       {
-                                               if(pdgcode==-211)
-                                                       fHistminsignalifAntiPionPSecondary->Fill(TMath::Abs(pt),itspidsignalforpions,weight);
-                                               //cout<<pdgcode<<" "<<  uniqueID<<"  "<<kPDecay<<" "<<kPHadronic<<endl;
-                                       }
-                                       if(pdgcode==11||pdgcode==13)
-                                       {
-                                               fHistminsignalifMuENegativeP->Fill(TMath::Abs(pt),itspidsignalforpions);        
-                                               if(!primary)
-                                               {
-                                                       if(pdgcode==11)
-                                                       {
-                                                               fHistStats->Fill(6);
-                                                               fElectronsource->Fill(TMath::Abs(pt),uniqueID);
-                                                       }       
-                                                       else if(pdgcode==13)    
-                                                       {
-                                                               fHistStats->Fill(7);
-                                                               fMuonsource->Fill(TMath::Abs(pt),uniqueID);
-                                                       }
-                                               }
-                                               else if(primary&&pdgcode==11)
-                                               {
-                                                       Printf("%d Mom",particle2->GetFirstMother());
-                                                       if(particle2->GetFirstMother()>-1)
-                                                               fPrimaryElectronsMother->Fill(TMath::Abs(stack->Particle(particle2->GetFirstMother())->GetPdgCode()));
-                                                       else
-                                                               fPrimaryElectronsMother->Fill(-1);
-                                                       fElectronsource->Fill(TMath::Abs(pt),0);
-                                               }       
-                                               else if(primary&&pdgcode==13)
-                                                       fMuonsource->Fill(TMath::Abs(pt),0);
-                                       }
-                                       if(pdgcodefake==-211)
-                                       {
-                                               if(primaryfake)
-                                                       fHistminsignalifAntiPionPrimaryfake->Fill(TMath::Abs(pt),itspidsignalforpions);
-                                               else
-                                                       fHistminsignalifAntiPionSecondaryfake->Fill(TMath::Abs(pt),itspidsignalforpions);       
-                                       }       
-                               }                       
-                               if(itspidsignalforpions>-0.5&&itspidsignalforpions<0.2)//select on clean
-                               {
-                                       fDCAXYZOpenforcleanAntiPions->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                       if(fMC)
-                                       {
-                                               if(primary&&pdgcode==-211)
-                                                       fDCAXYZOpenforcleanAntiPionsMCPrimary->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(!primary&&pdgcode==-211&&uniqueID==kPDecay)      
-                                                       fDCAXYZOpenforcleanAntiPionsWD->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(!primary&&pdgcode==-211&&uniqueID==kPHadronic)
-                                                       fDCAXYZOpenforcleanAntiPionsHI->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(primary&&(pdgcode==11||pdgcode==13))    
-                                                       fDCAXYZOpenforcleanAntiPionsMEPrimary->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(!primary&&(pdgcode==11||pdgcode==13))   
-                                                       fDCAXYZOpenforcleanAntiPionsMESecondary->Fill(TMath::Abs(pt),dcaxy,dcaz);       
-                                               else
-                                                       fDCAXYZOpenforcleanAntiPionsR->Fill(TMath::Abs(pt),dcaxy,dcaz);  
-                                       }                               
-                               }       //sel                                                           
-                       }       
-               }       
-               if(TMath::Abs(yforkaon)<=fYCut&&cutDCA) 
-               {
-                       if(pt>0.0)
-                       {
-                               fHistminsignalifKaonP->Fill(pt,itspidsignalforkaons);
-                               if((itspidsignalforkaons>-0.2)&&(itspidsignalforkaons<0.2))
-                               {
-                                       fKaonNTPCClusters->Fill(pt,nTPCclusters);
-                                       fKaonchi2->Fill(pt,chi2);
-                               }               
-                               if(primary)
-                               {
-                                       if(pdgcode==321)
-                                               fHistminsignalifKaonPPrimary->Fill(pt,itspidsignalforkaons);
-                               }
-                               else 
-                               {
-                                       if(pdgcode==321)
-                                               fHistminsignalifKaonPSecondary->Fill(pt,itspidsignalforkaons);
-                               }
-                               if(pdgcodefake==321)
-                               {
-                                       if(primaryfake)
-                                               fHistminsignalifKaonPrimaryfake->Fill(pt,itspidsignalforkaons);
-                                       else
-                                               fHistminsignalifKaonSecondaryfake->Fill(pt,itspidsignalforkaons);
-                               }
-                               
-                               
-                       }       
-                       else
-                       {
-                               fHistminsignalifAntiKaonP->Fill(TMath::Abs(pt),itspidsignalforkaons);
-                               if((itspidsignalforkaons>-0.2)&&(itspidsignalforkaons<0.2))
-                               {
-                                       fAntiKaonNTPCClusters->Fill(TMath::Abs(pt),nTPCclusters);
-                                       fAntiKaonchi2->Fill(TMath::Abs(pt),chi2);
-                               }
-                               if(primary)
-                               {
-                                       if(pdgcode==-321)
-                                               fHistminsignalifAntiKaonPPrimary->Fill(TMath::Abs(pt),itspidsignalforkaons);
-                               }
-                               else 
-                               {
-                                       if(pdgcode==-321)
-                                               fHistminsignalifAntiKaonPSecondary->Fill(TMath::Abs(pt),itspidsignalforkaons);
-                               }       
-                               if(pdgcodefake==-321)
-                               {
-                                       if(primaryfake)
-                                               fHistminsignalifAntiKaonPrimaryfake->Fill(TMath::Abs(pt),itspidsignalforkaons);
-                                       else
-                                               fHistminsignalifAntiKaonSecondaryfake->Fill(TMath::Abs(pt),itspidsignalforkaons);
-                                       
-                               }                               
-                       }               
-               }       
-               if(TMath::Abs(yforproton)<=fYCut)
-               {       
-                       Float_t weight=1.0;
-                       if(fMC)
-                               weight=GetWeight(label,stack);  
-                       if(pt>0.0)
-                       {
-                               if(cutDCA)
-                               {
-                                       if(fMC)
-                                               fHistminsignalifProtonP->Fill(pt,itspidsignalforprotons,weight);
-                                       else    
-                                               fHistminsignalifProtonP->Fill(pt,itspidsignalforprotons);
-                                       
-                                       //if(((itspidsignalforprotons))>(TMath::Abs(pt)<0.45?-0.2:0.0))&&(itspidsignalforprotons))<0.2)//select on
-                                       // clean
-                                       if((itspidsignalforprotons>-0.2)&&(itspidsignalforprotons<0.5))
-                                       {
-                                               fDCAXYZforcleanProtons->Fill(pt,dcaxy,dcaz);
-                                               fProtonNTPCClusters->Fill(pt,nTPCclusters);
-                                               fProtonchi2->Fill(pt,chi2);
-                                               if(fMC)
-                                               {       
-                                                       if(primary&&pdgcode==2212)
-                                                               fDCAXYZforcleanProtonsMCPrimary->Fill(pt,dcaxy,dcaz);
-                                                       else if(!primary&&!primaryfake&&(pdgcode==2212||pdgcodefake==2212)&&uniqueID==kPDecay)   
-                                                               fDCAXYZforcleanProtonsWD->Fill(pt,dcaxy,dcaz);
-                                                       else if(!primary&&!primaryfake&&(pdgcode==2212||pdgcodefake==2212)&&uniqueID==kPHadronic)
-                                                               fDCAXYZforcleanProtonsHI->Fill(pt,dcaxy,dcaz);
-                                                       else 
-                                                               fDCAXYZforcleanProtonsR->Fill(pt,dcaxy,dcaz);
-                                               }        
-                                       }//select on clean
-                                       if(primary)
-                                       {
-                                               if(pdgcode==2212)
-                                                       fHistminsignalifProtonPPrimary->Fill(pt,itspidsignalforprotons);
-                                       }
-                                       else  if(primaryfake)
-                                       {
-                                               if(pdgcodefake==2212)
-                                                       fHistminsignalifProtonPPrimaryfake->Fill(pt,itspidsignalforprotons);
-                                       }
-                                       else
-                                       {
-                                               if(pdgcode==2212&&uniqueID==kPDecay)            
-                                                       fHistminsignalifProtonPSecondaryWD->Fill(pt,itspidsignalforprotons,weight);
-                                               else if(pdgcode==2212&&uniqueID==kPHadronic)    
-                                                       fHistminsignalifProtonPSecondaryHI->Fill(pt,itspidsignalforprotons);
-                                               else    if(pdgcodefake==2212&&uniqueID==kPDecay)
-                                                       fHistminsignalifProtonPSecondaryWDfake->Fill(pt,itspidsignalforprotons,weight);
-                                               else if(pdgcodefake==2212&&uniqueID==kPHadronic)
-                                                       fHistminsignalifProtonPSecondaryHIfake->Fill(pt,itspidsignalforprotons);
-                                               else     if(fMC)
-                                                       fHistminsignalifProtonPSecondaryRest->Fill(pt,itspidsignalforprotons);
-                                       }
-                               }
-                               
-                               if((itspidsignalforprotons>-0.2)&&(itspidsignalforprotons<0.5))
-                               {
-                                       fDCAXYZOpenforcleanProtons->Fill(pt,dcaxy,dcaz);
-                                       if(fMC)
-                                       {       
-                                               if(primary&&pdgcode==2212)
-                                                       fDCAXYZOpenforcleanProtonsMCPrimary->Fill(pt,dcaxy,dcaz);
-                                               else if(!primary&&!primaryfake&&(pdgcode==2212||pdgcodefake==2212)&&uniqueID==kPDecay)   
-                                                       fDCAXYZOpenforcleanProtonsWD->Fill(pt,dcaxy,dcaz);
-                                               else if(!primary&&!primaryfake&&(pdgcode==2212||pdgcodefake==2212)&&uniqueID==kPHadronic)
-                                                       fDCAXYZOpenforcleanProtonsHI->Fill(pt,dcaxy,dcaz);
-                                               else 
-                                                       fDCAXYZOpenforcleanProtonsR->Fill(pt,dcaxy,dcaz);
-                                       }        
-                               }//select on clean
-                                       
-                       }               
-                       else
-                       {
-                               if(cutDCA)
-                               {
-                                       if(fMC)
-                                               fHistminsignalifAntiProtonP->Fill(TMath::Abs(pt),itspidsignalforprotons,weight);
-                                       else    
-                                               fHistminsignalifAntiProtonP->Fill(TMath::Abs(pt),itspidsignalforprotons);
-                                       if((itspidsignalforprotons>-0.2)&&(itspidsignalforprotons<0.5))
-                                       {//select on clean
-                                               fDCAXYZforcleanAntiProtons->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               
-                                               if(fMC)
-                                               {
-                                                       if(primary&&pdgcode==-2212)
-                                                               fDCAXYZforcleanAntiProtonsMCPrimary->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(!primary&&!primaryfake&&(pdgcode==-2212||pdgcodefake==-2212)&&uniqueID==kPDecay)         
-                                                               fDCAXYZforcleanAntiProtonsWD->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(!primary&&!primaryfake&&(pdgcode==-2212||pdgcodefake==-2212)&&uniqueID==kPHadronic)
-                                                               fDCAXYZforcleanAntiProtonsHI->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                                       else if(fMC)
-                                                               fDCAXYZforcleanAntiProtonsR->Fill(TMath::Abs(pt),dcaxy,dcaz);            
-                                               }  
-                                       }//select on clean
-                                       if(primary)
-                                       {
-                                               if(pdgcode==-2212)
-                                                       fHistminsignalifAntiProtonPPrimary->Fill(TMath::Abs(pt),itspidsignalforprotons);
-                                       }
-                                       else if(primaryfake)
-                                       {
-                                               if(pdgcodefake==-2212)
-                                                       fHistminsignalifAntiProtonPPrimaryfake->Fill(TMath::Abs(pt),itspidsignalforprotons);
-                                       }
-                                       else 
-                                       {
-                                               if(pdgcode==-2212&&uniqueID==kPDecay)
-                                                       fHistminsignalifAntiProtonPSecondaryWD->Fill(TMath::Abs(pt),itspidsignalforprotons,weight);
-                                               else if(pdgcode==-2212&&uniqueID==kPHadronic)   
-                                                       fHistminsignalifAntiProtonPSecondaryHI->Fill(TMath::Abs(pt),itspidsignalforprotons);    
-                                               else if(pdgcodefake==-2212&&uniqueID==kPDecay)
-                                                       fHistminsignalifAntiProtonPSecondaryWDfake->Fill(TMath::Abs(pt),itspidsignalforprotons,weight);
-                                               else if(pdgcodefake==-2212&&uniqueID==kPHadronic)       
-                                                       fHistminsignalifAntiProtonPSecondaryHIfake->Fill(TMath::Abs(pt),itspidsignalforprotons);
-                                               else if(fMC)
-                                                       fHistminsignalifAntiProtonPSecondaryRest->Fill(TMath::Abs(pt),itspidsignalforprotons);  
-                                       }
-                               }
-                               if((itspidsignalforprotons>-0.2)&&(itspidsignalforprotons<0.5))
-                               {//select on clean
-                                       fDCAXYZOpenforcleanAntiProtons->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                       fAntiProtonNTPCClusters->Fill(TMath::Abs(pt),nTPCclusters);
-                                       fAntiProtonchi2->Fill(TMath::Abs(pt),chi2);
-                                       if(fMC)
-                                       {
-                                               if(primary&&pdgcode==-2212)
-                                                       fDCAXYZOpenforcleanAntiProtonsMCPrimary->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(!primary&&!primaryfake&&(pdgcode==-2212||pdgcodefake==-2212)&&uniqueID==kPDecay)         
-                                                       fDCAXYZOpenforcleanAntiProtonsWD->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(!primary&&!primaryfake&&(pdgcode==-2212||pdgcodefake==-2212)&&uniqueID==kPHadronic)
-                                                       fDCAXYZOpenforcleanAntiProtonsHI->Fill(TMath::Abs(pt),dcaxy,dcaz);
-                                               else if(fMC)
-                                                       fDCAXYZOpenforcleanAntiProtonsR->Fill(TMath::Abs(pt),dcaxy,dcaz);                
-                                       }
-                               }  
-                       }               
-               }                       
-       }       
-       fHistStandartMul->Fill(refmultiplicity);
-       fHistMytrackMul->Fill(mynumberoftracks);
-       
-               
-       // Post output data.
-       Printf("Done..........\n");
-       PostData(1,  flist);
-       //Printf("....................Done!\n");
-       //Printf("end of Exec");
-}      
-
-//________________________________________________________________________
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::Terminate(Option_t *) 
-{
-       //Terminate
-       if(fCuts)
-               fCuts->Dump();
-       Printf("YCut=%f",fYCut);
-       Printf("nsigma=%f",fsigmacut);
-       Printf("DCA cut xy sigma =%f  zsigma=%f", fnsigmaxy, fnsigmaz); 
-       Printf("ChargeCut=%f ", fchargeCut);
-       Printf("DCAxy parameters %f  %f %f",fdcaxypar[0],fdcaxypar[1],fdcaxypar[2]);
-       Printf("DCAz parameters %f  %f %f %f",fdcazpar[0],fdcazpar[1],fdcazpar[2],fdcazpar[3]);
-       if(fTPCPIDCUT)
-               fTPCPIDCUT->Dump();
-       if(fMC)
-               Printf("MC On\n");
-       if(fCorrectSDD)
-               Printf("correct SDD On\n");
-       if(fCorrectSSD)
-               Printf("correct SSD On\n");
-       if(fK0weight) 
-       {
-               Printf("weigth for pions");
-               fK0weight->Print("All");
-       }
-       if(flambdaweight)
-       {
-               Printf("weigth for protons");
-               flambdaweight->Print("All");
-       }
-       if(fAntilambdaweight)
-       {
-               Printf("weigth for antiprotons");
-               fAntilambdaweight->Print("All");
-       }
-       Printf("Mul low %d Mul up %d",fLowMultiplicity, fUpMultiplicity);
-       Printf("cent low %f cent up %f",fLowCentrality,fUpCentrality);
-       if(fdovertexrescuts)
-               Printf("Veretx resolution cut");
-       Printf("end of Terminate");
-}
-//___________________________________________________
-Float_t  AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::MyITSsignalusing4points(Double_t* tmpQESD) const
-{
-       //dE signal in case of 4 points in ITS
-       Int_t indexes[4]={-1,-1,-1,-1};
-       TMath::Sort(4,tmpQESD,indexes,0);
-       return  0.5*(tmpQESD[indexes[0]]+tmpQESD[indexes[1]]);  
-}
-//________________________________________________________
-Float_t  AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::MyITSsignalusing3points( Double_t* tmpQESD) const
-{
-       //dE signal in case of 3 points in ITS
-        Int_t indexes[3]={-1,-1,-1};
-       TMath::Sort(3,tmpQESD,indexes,0);
-       //cout<<tmpQESD[indexes[0]]<<" "<<tmpQESD[indexes[1]]<<" "<<tmpQESD[indexes[2]]<<endl;
-       return  (tmpQESD[indexes[0]]+tmpQESD[indexes[1]]*0.5)/1.5;      
-}                       
-//____________________________________________________________________________________________________
-  void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::SetFunctionParam( Double_t * const par)
-  {
-       fESDpid->GetITSResponse().SetBetheBlochParamsITSTPC(par);
-  }
-  //_____________________________________________________________________________________________________
-  void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::CorrectSDD(Double_t *tmpQESD) const
-  {
-  //correction of SDD signal 
-       if(tmpQESD[0]>0.0)
-       {
-               tmpQESD[0]=tmpQESD[0]*3.34/5.43;
-               if(tmpQESD[0]<30.0)
-                       tmpQESD[0]=-1.0;
-       }       
-       if(tmpQESD[1]>0.0)
-       {
-               tmpQESD[1]=tmpQESD[1]*3.34/5.43;
-               if(tmpQESD[1]<30.0)
-                       tmpQESD[1]=-1.0;
-       }       
-  }
-    //_____________________________________________________________________________________________________
-  void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::CorrectSSD(Double_t *tmpQESD) const
-  {
-        //Correction of SSD signal
-       tmpQESD[2]=(85.0/77.0)*tmpQESD[2];
-       tmpQESD[3]=(85.0/77.0)*tmpQESD[3];      
-  }
-  //_______________________________________________________________________________________________________
-  Bool_t AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::SelectOnImpPar(AliESDtrack* t)  const
-  {
-       //
-       // cut on transverse impact parameter
-       //
-       Float_t d0z0[2],covd0z0[3];
-       t->GetImpactParameters(d0z0,covd0z0);
-       Float_t sigma= fdcaxypar[0]+fdcaxypar[1]/TMath::Power(t->Pt(),fdcaxypar[2]);
-       Float_t d0max = fnsigmaxy*sigma;
-       //
-       Float_t sigmaZ = fdcazpar[0]+fdcazpar[1]/TMath::Power(t->Pt(),fdcazpar[2]);
-       if (t->Pt() > 1) 
-               sigmaZ = fdcazpar[3];
-        Float_t d0maxZ = fnsigmaz*sigmaZ;
-       //
-       if(TMath::Abs(d0z0[0]) < d0max && TMath::Abs(d0z0[1]) < d0maxZ) //error 
-               return kTRUE;
-       return kFALSE;
-}
-//__________________________________________________________________________________________________
-    Float_t AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::GetWeight(Int_t t,AliStack* const stack) const
-    {
-    
-       //Get weigth for pions protons and antiprotons
-       if(stack->IsPhysicalPrimary(TMath::Abs(t)))
-               return 1.0;     
-       TParticle *particleMC = stack->Particle(TMath::Abs(t));
-       Int_t pdgcodeMC = particleMC->GetPdgCode();
-       if(TMath::Abs(pdgcodeMC)!=211&&TMath::Abs(pdgcodeMC)!=2212)
-               return 1.0;
-       if(!stack->IsPhysicalPrimary(TMath::Abs(particleMC->GetFirstMother())))
-               return 1.0;     
-       TParticle *particleMother=stack->Particle(TMath::Abs(particleMC->GetFirstMother()));
-       Int_t pdgcodeMother = particleMother->GetPdgCode();
-       Float_t motherpt=particleMother-> Pt();
-       if(TMath::Abs(pdgcodeMC)==211&&pdgcodeMother==310&&fK0weight)
-               return fK0weight->Eval(motherpt);
-       else if (pdgcodeMother==3122&&flambdaweight)
-               return flambdaweight->Eval(motherpt);
-       else if(pdgcodeMother==-3122&&fAntilambdaweight)
-               return fAntilambdaweight->Eval(motherpt);       
-       return 1.0;     
-    }
-  //________________________________________________________________________________________________  
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::SetDCA2010()
-{
-       //setting the DCA for 2010
-       fdcaxypar[0]=0.0026;
-       fdcaxypar[1]=0.005;
-       fdcaxypar[2]=1.01;
-       
-       fdcazpar[0]=1000000.0;
-       fdcazpar[1]=0.0;
-       fdcazpar[2]=1.0;
-       fdcazpar[3]=1000000.0;
-}
-//______________________________________________________________________________________________________________
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::SetCentralityCut(Float_t low, Float_t up)
-{
-       //centrality cut setter
-       if((up>low)&&(!(low<0.0))&&(!(up>100.0)))
-       {
-               SetHImode();
-               fLowCentrality=low;
-               fUpCentrality=up;
-       }
-}
-//_____________________________________________________________________________________________________________
-void AliAnalysisChargedHadronSpectraITSTruncatedMeanTask::SetMultiplicityCut(Int_t low, Int_t up)
-{
-       //mulyiplicty cut setter
-       if((!(up>low))&&low>=0&&up>=0)
-       { 
-               fLowMultiplicity=-1;
-               fUpMultiplicity=-1;
-       }
-       else
-       {
-               fLowMultiplicity=low;
-               fUpMultiplicity=up;
-       }       
-}