From 31185d973b0eb71e64a1debfd8cca6cce272c85e Mon Sep 17 00:00:00 2001 From: ssakai Date: Wed, 13 Nov 2013 22:44:31 +0000 Subject: [PATCH] updated for backgrond study --- PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.cxx | 41 +++- PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h | 1 + .../hfe/macros/configs/pPb/ConfigEMCalHFEpA.C | 201 +++++++++++++++++- 3 files changed, 234 insertions(+), 9 deletions(-) diff --git a/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.cxx b/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.cxx index f71b8a24ae2..930246502c9 100644 --- a/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.cxx +++ b/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.cxx @@ -18,7 +18,7 @@ // Task for Heavy-flavour electron analysis in pPb collisions // // (+ Electron-Hadron Jetlike Azimuthal Correlation) // // // - // version: October 14th, 2013. // + // version: November 11th, 2013. // // // // Authors // // Elienos Pereira de Oliveira Filho (epereira@cern.ch) // @@ -180,6 +180,7 @@ AliAnalysisTaskEMCalHFEpA::AliAnalysisTaskEMCalHFEpA(const char *name) ,fNTracks(0) ,fNClusters(0) ,fTPCNcls_EoverP(0) +,fTPCNcls_pid(0) ,fEta(0) ,fPhi(0) ,fR(0) @@ -412,6 +413,7 @@ AliAnalysisTaskEMCalHFEpA::AliAnalysisTaskEMCalHFEpA() ,fNTracks(0) ,fNClusters(0) ,fTPCNcls_EoverP(0) +,fTPCNcls_pid(0) ,fEta(0) ,fPhi(0) ,fR(0) @@ -955,6 +957,7 @@ void AliAnalysisTaskEMCalHFEpA::UserCreateOutputObjects() fTPCnsigma_eta = new TH2F("fTPCnsigma_eta",";Pseudorapidity #eta; TPC signal - _{elec} (#sigma)",200,-0.9,0.9,200,-15,15); fTPCnsigma_phi = new TH2F("fTPCnsigma_phi",";Azimuthal Angle #phi; TPC signal - _{elec} (#sigma)",200,0,2*TMath::Pi(),200,-15,15); + fTPCNcls_pid= new TH2F("fTPCNcls_pid","fTPCNcls_pid;NCls;NCls for PID",159,0,159,159,0,159); fNcells_pt=new TH2F("fNcells_pt","fNcells_pt",1000, 0,20,100,0,30); fEoverP_pt_pions= new TH2F("fEoverP_pt_pions","fEoverP_pt_pions",1000,0,30,500,0,2); @@ -978,6 +981,9 @@ void AliAnalysisTaskEMCalHFEpA::UserCreateOutputObjects() fOutputList->Add(fEoverP_pt_pions2); fOutputList->Add(fEoverP_pt_hadrons); + fOutputList->Add(fTPCNcls_pid); + + //__________________________________________________________________ //Efficiency studies if(fIsMC) @@ -1480,6 +1486,11 @@ void AliAnalysisTaskEMCalHFEpA::UserExec(Option_t *) Float_t TPCNcls = track->GetTPCNcls(); + //TPC Ncls for pid + Float_t TPCNcls_pid = track->GetTPCsignalN(); + fTPCNcls_pid->Fill(TPCNcls, TPCNcls_pid); + + Float_t pos[3]={0,0,0}; Double_t fEMCflag = kFALSE; @@ -2200,9 +2211,16 @@ void AliAnalysisTaskEMCalHFEpA::UserExec(Option_t *) if(fMCparticle->Eta()>=fEtaCutMin && fMCparticle->Eta()<=fEtaCutMax ){ - //check - if(fIsHFE1) fPtMCelectronAfterAll->Fill(fMCparticle->Pt()); //numerator for the total efficiency - + + if(!fUseShowerShapeCut){ + if(fIsHFE1) fPtMCelectronAfterAll->Fill(fMCparticle->Pt()); //numerator for the total efficiency AOD + } + //November 11 for efficiency of triggered data + if(fUseShowerShapeCut){ + if(M02 >= fM02CutMin && M02<=fM02CutMax && M20>=fM20CutMin && M20<=fM20CutMax){ + if(fIsHFE1) fPtMCelectronAfterAll->Fill(fMCparticle->Pt()); //numerator for the total efficiency AOD + } + } Bool_t MotherFound = FindMother(track->GetLabel()); if(MotherFound){ @@ -2247,7 +2265,20 @@ void AliAnalysisTaskEMCalHFEpA::UserExec(Option_t *) if(MotherFound) { if(fMCtrack->Eta()>=fEtaCutMin && fMCtrack->Eta()<=fEtaCutMax){ - if(fIsHFE1) fPtMCelectronAfterAll->Fill(fMCtrack->Pt()); //numerator for the total efficiency + + + if(!fUseShowerShapeCut){ + if(fIsHFE1) fPtMCelectronAfterAll->Fill(fMCtrack->Pt()); //numerator for the total efficiency ESD + } + //November 11 for efficiency of triggered data + if(fUseShowerShapeCut){ + if(M02 >= fM02CutMin && M02<=fM02CutMax && M20>=fM20CutMin && M20<=fM20CutMax){ + if(fIsHFE1) fPtMCelectronAfterAll->Fill(fMCtrack->Pt()); //numerator for the total efficiency ESD + } + } + + + } } diff --git a/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h b/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h index e59b079f191..1a240c2856d 100644 --- a/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h +++ b/PWGHF/hfe/AliAnalysisTaskEMCalHFEpA.h @@ -213,6 +213,7 @@ private: TH1F **fNTracks; TH1F **fNClusters; TH2F **fTPCNcls_EoverP; + TH2F *fTPCNcls_pid; TH1F **fEta; TH1F **fPhi; diff --git a/PWGHF/hfe/macros/configs/pPb/ConfigEMCalHFEpA.C b/PWGHF/hfe/macros/configs/pPb/ConfigEMCalHFEpA.C index 0f1f4c0ad88..83354943530 100644 --- a/PWGHF/hfe/macros/configs/pPb/ConfigEMCalHFEpA.C +++ b/PWGHF/hfe/macros/configs/pPb/ConfigEMCalHFEpA.C @@ -34,7 +34,7 @@ Int_t EMCalThreshould = 0 //0 == EG1, 1 == EG2 if(configIndex==7) hfecuts->SetMinNClustersTPCPID(70); else if (configIndex==8) hfecuts->SetMinNClustersTPCPID(90); - else if (configIndex==9) hfecuts->SetMinNClustersTPCPID(60) + else if (configIndex==9) hfecuts->SetMinNClustersTPCPID(60); else if (configIndex==10) hfecuts->SetMinNClustersTPCPID(65); else if (configIndex==11) hfecuts->SetMinNClustersTPCPID(100); else if (configIndex==12) hfecuts->SetMinNClustersTPCPID(95); @@ -43,7 +43,7 @@ Int_t EMCalThreshould = 0 //0 == EG1, 1 == EG2 hfecuts->SetMinRatioTPCclusters(0.6); //Number of clusters (Found/Findable) //ITS - if(configIndex==13) hfecuts->SetCutITSpixel(AliHFEextraCuts::kBoth); //Require at least one cluster on SPD + if(configIndex==13) hfecuts->SetCutITSpixel(AliHFEextraCuts::kBoth); //Require at least one cluster on SPD else hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny); //Require at least one cluster on SPD //hfecuts->SetCutITSdrift(AliHFEextraCuts::kAny); //Require at least one cluster on SDD hfecuts->SetCheckITSLayerStatus(kFALSE); @@ -77,7 +77,7 @@ Int_t EMCalThreshould = 0 //0 == EG1, 1 == EG2 task->SetAODanalysis(isAOD); task->SetEventMixing(kTRUE); - //to separate trigger threshould + //to separate trigger threshold if(EMCalThreshould==0 && triggerIndex==2) task->SetEMCalTriggerEG1(); if(EMCalThreshould==1 && triggerIndex==2) task->SetEMCalTriggerEG2(); @@ -193,8 +193,201 @@ Int_t EMCalThreshould = 0 //0 == EG1, 1 == EG2 else if (configIndex==74) params[0] = -1.75; else params[0] = -1; - pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + if(configIndex==75)Double_t max=1.5; + else if(configIndex==76)Double_t max=2.0; + else if(configIndex==77)Double_t max=2.5; + else if(configIndex==78)Double_t max=3.5; + else if(configIndex==79)Double_t max=4.0; + else Double_t max=3.0; + + pid->ConfigureTPCdefaultCut(cutmodel,params,max); //_______________________________________________________ + +///_______________________________________________________________________________________________________________ +/// New configurations for random cuts -- November 11th + + if (configIndex==80){ + hfecuts->SetMinNClustersTPC(86); + hfecuts->SetMinNClustersTPCPID(76); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.057); + task->SetNonHFEangleCut(0.069); + task->SetAdditionalCuts(0.152, 91); + task->SetdPhidEtaCut(0.019, 0.044); + task->SetEoverPCut(0.850, 1.249); + Double_t params[0]=-0.19; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==81){ + hfecuts->SetMinNClustersTPC(95); + hfecuts->SetMinNClustersTPCPID(99); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.018); + task->SetNonHFEangleCut(0.135); + task->SetAdditionalCuts(0.351, 61); + task->SetdPhidEtaCut(0.012, 0.044); + task->SetEoverPCut(0.830, 1.271); + Double_t params[0]=-1.16; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==82){ + hfecuts->SetMinNClustersTPC(117); + hfecuts->SetMinNClustersTPCPID(69); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.015); + task->SetNonHFEangleCut(0.062); + task->SetAdditionalCuts(0.842, 91); + task->SetdPhidEtaCut(0.018, 0.033); + task->SetEoverPCut(0.913, 1.225); + Double_t params[0]=-1.14; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==83){ + hfecuts->SetMinNClustersTPC(98); + hfecuts->SetMinNClustersTPCPID(93); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.051); + task->SetNonHFEangleCut(0.051); + task->SetAdditionalCuts(0.415, 83); + task->SetdPhidEtaCut(0.047, 0.016); + task->SetEoverPCut(0.939, 1.250); + Double_t params[0]=-0.98; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==84){ + hfecuts->SetMinNClustersTPC(99); + hfecuts->SetMinNClustersTPCPID(99); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.020); + task->SetNonHFEangleCut(0.145); + task->SetAdditionalCuts(0.654, 99); + task->SetdPhidEtaCut(0.025, 0.014); + task->SetEoverPCut(0.721, 1.256); + Double_t params[0]=-1.38; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==85){ + hfecuts->SetMinNClustersTPC(85); + hfecuts->SetMinNClustersTPCPID(91); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.159); + task->SetNonHFEangleCut(0.144); + task->SetAdditionalCuts(0.897, 78); + task->SetdPhidEtaCut(0.046, 0.043); + task->SetEoverPCut(0.764, 1.275); + Double_t params[0]=-1.15; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==86){ + hfecuts->SetMinNClustersTPC(104); + hfecuts->SetMinNClustersTPCPID(75); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.045); + task->SetNonHFEangleCut(0.112); + task->SetAdditionalCuts(0.036, 93); + task->SetdPhidEtaCut(0.019, 0.013); + task->SetEoverPCut(0.930, 1.222); + Double_t params[0]=-1.29; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==87){ + hfecuts->SetMinNClustersTPC(108); + hfecuts->SetMinNClustersTPCPID(93); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.109); + task->SetNonHFEangleCut(0.140); + task->SetAdditionalCuts(0.814, 89); + task->SetdPhidEtaCut(0.041, 0.022); + task->SetEoverPCut(0.737, 1.210); + Double_t params[0]=-0.76; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==88){ + hfecuts->SetMinNClustersTPC(80); + hfecuts->SetMinNClustersTPCPID(82); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.027); + task->SetNonHFEangleCut(0.102); + task->SetAdditionalCuts(0.092, 97); + task->SetdPhidEtaCut(0.014, 0.031); + task->SetEoverPCut(0.807, 1.231); + Double_t params[0]=-1.04; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==89){ + hfecuts->SetMinNClustersTPC(100); + hfecuts->SetMinNClustersTPCPID(66); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.073); + task->SetNonHFEangleCut(0.082); + task->SetAdditionalCuts(0.339, 76); + task->SetdPhidEtaCut(0.040, 0.011); + task->SetEoverPCut(0.892, 1.246); + Double_t params[0]=-0.20; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==90){ + hfecuts->SetMinNClustersTPC(106); + hfecuts->SetMinNClustersTPCPID(90); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.168); + task->SetNonHFEangleCut(0.098); + task->SetAdditionalCuts(0.630, 91); + task->SetdPhidEtaCut(0.034, 0.026); + task->SetEoverPCut(0.765, 1.297); + Double_t params[0]=-0.25; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==91){ + hfecuts->SetMinNClustersTPC(84); + hfecuts->SetMinNClustersTPCPID(80); + hfecuts->SetMinNClustersITS(2); + task->SetNonHFEmassCut(0.052); + task->SetNonHFEangleCut(0.098); + task->SetAdditionalCuts(0.594, 66); + task->SetdPhidEtaCut(0.013, 0.043); + task->SetEoverPCut(0.884, 1.291); + Double_t params[0]=-0.12; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==92){ + hfecuts->SetMinNClustersTPC(112); + hfecuts->SetMinNClustersTPCPID(80); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.061); + task->SetNonHFEangleCut(0.069); + task->SetAdditionalCuts(0.803, 91); + task->SetdPhidEtaCut(0.043, 0.031); + task->SetEoverPCut(0.872, 1.253); + Double_t params[0]=-1.37; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==93){ + hfecuts->SetMinNClustersTPC(115); + hfecuts->SetMinNClustersTPCPID(82); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.042); + task->SetNonHFEangleCut(0.113); + task->SetAdditionalCuts(0.637, 86); + task->SetdPhidEtaCut(0.043, 0.032); + task->SetEoverPCut(0.732, 1.209); + Double_t params[0]=-0.60; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + if (configIndex==94){ + hfecuts->SetMinNClustersTPC(81); + hfecuts->SetMinNClustersTPCPID(63); + hfecuts->SetMinNClustersITS(3); + task->SetNonHFEmassCut(0.080); + task->SetNonHFEangleCut(0.050); + task->SetAdditionalCuts(0.529, 87); + task->SetdPhidEtaCut(0.026, 0.047); + task->SetEoverPCut(0.823, 1.200); + Double_t params[0]=-1.14; + pid->ConfigureTPCdefaultCut(cutmodel,params,3.0); + } + + ///_______________________________________________________________________________________________________________ printf("*************************************\n"); -- 2.39.3