+++ /dev/null
-AliAnalysisTaskHFE* ConfigHFECalSys_PbPb(Bool_t useMC, int TPCclust, int Nits, int ITSstat, double nSigMim, double Mimeop, double Maxeop, int PIDorder){
- //
- // HFE standard task configuration
- //
-
- cout << "==== Summary of cuts ===== " << endl;
- cout << "TPC ; " << TPCclust << endl;
- cout << "ITS ; " << Nits << endl;
- cout << "PID ; " << nSigMim << " ; " << Mimeop << " ; " << Maxeop << endl;
-
- AliHFEcuts *hfecuts = new AliHFEcuts("hfeCuts","HFE Standard Cuts for EMCal");
- hfecuts->CreateStandardCuts();
- //hfecuts->SetMinNClustersTPC(120);
- hfecuts->SetMinNClustersTPC(TPCclust);
- hfecuts->SetMinRatioTPCclusters(0.6);
- hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
-
- //hfecuts->SetMinNClustersITS(3);
- hfecuts->SetMinNClustersITS(Nits);
- hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
- if(ITSstat==1)hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
- hfecuts->SetCheckITSLayerStatus(kFALSE);
-
- //hfecuts->UnsetVertexRequirement();
- hfecuts->SetMaxImpactParam(3.,3.);
- hfecuts->SetPtRange(2.0,60.0);
-
- hfecuts->SetVertexRange(10.);
- //hfecuts->SetMaxChi2perClusterITS(36);
- //hfecuts->SetSigmaToVertex(10);
- //hfecuts->SetTOFPIDStep(kTRUE);
- //hfecuts->SetTOFMISMATCHStep(kTRUE);
- //hfecuts->SetTPCPIDCleanUpStep(kTRUE);
- hfecuts->SetQAOn();
- //hfecuts->SetMinNTrackletsTRD(5);
-
- AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysisStandardEMCal");
- task->SetHFECuts(hfecuts);
- task->SetPbPbAnalysis(kTRUE);
- //task->SetRemovePileUp(kTRUE);
- task->GetPIDQAManager()->SetHighResolutionHistos();
-
- // Define Variables
- AliHFEvarManager *vm = task->GetVarManager();
- //vm->AddVariable("pt");
- //vm->AddVariable("eta");
-
- const Double_t ptbinning[50] = {1., 1.1, 1.2, 1.3, 1.4,
- 1.5, 1.75, 2., 2.25, 2.5,
- 2.75, 3., 3.5, 4., 4.5,
- 5., 5.5, 6., 7., 8.,
- 9., 10., 11., 12., 13.,
- 14., 15., 16., 17., 18.,
- 20., 22., 24., 26., 28.,
- 30., 32., 34., 36., 38.,
- 40., 45., 50., 55., 60.,
- 65., 70., 80., 90., 100};
-
- const Double_t etabinning[17] = {-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8};
-
- vm->AddVariable("pt", 49, ptbinning);
- vm->AddVariable("eta", 16, etabinning);
- vm->AddVariable("phi");
- vm->AddVariable("charge");
- vm->AddVariable("source");
- vm->AddVariable("centrality");
- /*
- if(!useMC){
-
- for(Int_t a=0;a<12;a++)
- {
- TF1 *hBackground = new TF1("hadronicBackgroundFunction","TMath::Exp([0]/x + [1])", 0., 20.);
- hBackground->SetParameter(0, -43.87);
- hBackground->SetParameter(1, 2.85);
- task->SetBackGroundFactorsFunction(hBackground,a);
- }
-
-
- }
- */
- // Define PID
- AliHFEpid *pid = task->GetPID();
- if(useMC) pid->SetHasMCData(kTRUE);
-
- if(PIDorder == 0)
- {
- pid->AddDetector("EMCAL", 1);
- pid->AddDetector("TPC", 0);
- }
- else if
- {
- pid->AddDetector("EMCAL", 0);
- pid->AddDetector("TPC", 1);
- }
-
-// pid->ConfigureTPCrejection();
-
- if(!useMC){
-
- Double_t params_centr_0_5[1];
- Double_t params_centr_5_10[1];
- Double_t params_centr_10_20[1];
- Double_t params_centr_20_30[1];
- Double_t params_centr_per[1];
- //params_centr_0_5[0]=0.16; // cut tuned for 0-10%
- //params_centr_5_10[0]=0.16; // cut tuned for 0-10%
- //params_centr_10_20[0]=0.29;
- //params_centr_20_30[0]=0.38;
- //params_centr_per[0]=0.44;
- /*
- params_centr_0_5[0]=-1.5; // cut tuned for 0-10%
- params_centr_5_10[0]=-1.5; // cut tuned for 0-10%
- params_centr_10_20[0]=-1.5;
- params_centr_20_30[0]=-1.5;
- params_centr_per[0]=-1.5;
- */
- params_centr_0_5[0] = nSigMim; // cut tuned for 0-10%
- params_centr_5_10[0] = nSigMim; // cut tuned for 0-10%
- params_centr_10_20[0] = nSigMim;
- params_centr_20_30[0] = nSigMim;
- params_centr_per[0] = nSigMim;
-
-
- char *cutmodel;
- cutmodel="pol0";
-
-
- for(Int_t a=0;a<11;a++)
- {
- if(a>3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_per,3.0);
- if(a==0) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_0_5,3.0); // 0-5%
- if(a==1) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_5_10,3.0); // 5-10%
- if(a==2) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_10_20,3.0); // 10-20%
- if(a==3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_20_30,3.0); // 20-30%
- }
-
-
- }
-
-
- // V0 tagged tracks
- AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis");
- v0trackCuts->CreateStandardCuts();
- //v0trackCuts->SetMinNClustersTPC(120);
- v0trackCuts->SetMinNClustersTPC(TPCclust);
- v0trackCuts->SetMinRatioTPCclusters(0.6);
- v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
- v0trackCuts->SetMinNClustersITS(1);
- v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kAny);
- v0trackCuts->SetCheckITSLayerStatus(kFALSE);
- v0trackCuts->UnsetVertexRequirement();
- //v0trackCuts->SetMaxChi2perClusterITS(36);
- //hfecuts->SetSigmaToVertex(10);
- v0trackCuts->SetTOFPIDStep(kTRUE);
-// v0trackCuts->SetTOFMISMATCHStep(kTRUE);
- //v0trackCuts->SetTPCPIDCleanUpStep(kTRUE);
- v0trackCuts->SetQAOn();
-
- task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
- task->SetTaggedTrackCuts(v0trackCuts);
- task->SetCleanTaggedTrack(kFALSE);
-
- // change E/p cuts
- AliHFEpidEMCAL *emcpid = pid->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid);
- emcpid->SetEoPMax(Maxeop);
- emcpid->SetEoPMim(Mimeop);
-
- // QA
- task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
-// task->SetFillSignalOnly(kFALSE); // for DE pluging for MC
- task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
- //task->SwitchOnPlugin(AliAnalysisTaskHFE::kIsElecBackGround);
- //task->SwitchOnPlugin(AliAnalysisTaskHFE::kSecVtx);
- task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep);
-
-
-
- printf("*************************************\n");
- printf("Configuring standard Task:\n");
- task->Print();
- pid->PrintStatus();
- printf("*************************************\n");
- return task;
-}