//DEFINITION OF A FEW CONSTANTS
-AliPWG4HighPtQATPConly* AddTaskPWG4HighPtQATPConly()//<some_parameters>)
+AliPWG4HighPtQATPConly* AddTaskPWG4HighPtQATPConly(char *prodType = "LHC10e14",int cuts=2)//1: Standard Cuts 2009 2: GetStandardITSTPCTrackCuts2009
{
// Creates HighPtQATPConly analysis task and adds it to the analysis manager.
//CREATE THE CUTS -----------------------------------------------
//Use AliESDtrackCuts
AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
- //Standard Cuts
- trackCuts->SetAcceptKinkDaughters(kFALSE);//
- trackCuts->SetRequireTPCRefit(kTRUE);
- trackCuts->SetEtaRange(-0.9,0.9);//-0.5,0.5);//
- trackCuts->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);//
- trackCuts->SetPtRange(0.15, 1e10);//
- trackCuts->SetMinNClustersTPC(70);//
- trackCuts->SetMaxChi2PerClusterTPC(3.5);//
- //trackCuts->SetRequireITSRefit(kTRUE);
- trackCuts->SetMaxDCAToVertexXY(2.4);
- trackCuts->SetMaxDCAToVertexZ(3.2);
- trackCuts->SetDCAToVertex2D(kTRUE);
-
+ if(cuts==1) {
+ trackCuts=trackCuts->GetStandardITSTPCTrackCuts2010(kTRUE);//Primary Track Selection
+ trackCuts->SetEtaRange(-0.9,0.9);
+ trackCuts->SetPtRange(0.15, 1e10);
+
+ }
+ else if(cuts==2) {
+ trackCuts=trackCuts->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
+ trackCuts->SetEtaRange(-0.9,0.9);
+ trackCuts->SetPtRange(0.15, 1e10);
+ }
+
AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with ITSrefit");
- trackCutsITS->SetAcceptKinkDaughters(kFALSE);//
- trackCutsITS->SetRequireTPCRefit(kTRUE);//
- trackCutsITS->SetEtaRange(-0.9,0.9);//-0.5,0.5);//
- trackCutsITS->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);//
- trackCutsITS->SetPtRange(0.15, 1e10);//
- trackCutsITS->SetMinNClustersTPC(70);//
- trackCutsITS->SetMaxChi2PerClusterTPC(3.5);//
- trackCutsITS->SetRequireITSRefit(kTRUE);
- trackCutsITS->SetMaxDCAToVertexXY(2.4);
- trackCutsITS->SetMaxDCAToVertexZ(3.2);
- trackCutsITS->SetDCAToVertex2D(kTRUE);
-
- //Create the task
- AliPWG4HighPtQATPConly *taskPWG4QA = new AliPWG4HighPtQATPConly("AliPWG4HighPtQATPConly");
+ if(cuts==1) {
+ //Cuts SPD || SDD
+ // TPC
+ trackCutsITS->SetMinNClustersTPC(70);
+ trackCutsITS->SetMaxChi2PerClusterTPC(4);
+ trackCutsITS->SetAcceptKinkDaughters(kFALSE);
+ trackCutsITS->SetRequireTPCRefit(kTRUE);
+ // ITS
+ trackCutsITS->SetRequireITSRefit(kTRUE);
+ trackCutsITS->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone);
+ trackCutsITS->SetClusterRequirementITS(AliESDtrackCuts::kSDD, AliESDtrackCuts::kFirst);
+
+ trackCutsITS->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
+ trackCutsITS->SetMaxDCAToVertexZ(2);
+ trackCutsITS->SetDCAToVertex2D(kFALSE);
+ trackCutsITS->SetRequireSigmaToVertex(kFALSE);
+
+ trackCutsITS->SetEtaRange(-0.9,0.9);
+ trackCutsITS->SetPtRange(0.15, 1e10);
+ trackCutsITS->SetRequireITSRefit(kTRUE);
+
+ }
+ else if(cuts==2) {
+ trackCutsITS=trackCutsITS->GetStandardITSTPCTrackCuts2009(kTRUE);//Primary Track Selection
+ trackCutsITS->SetEtaRange(-0.9,0.9);
+ trackCutsITS->SetPtRange(0.15, 1e10);
+ }
+
+//Create the task
+ AliPWG4HighPtQATPConly *taskPWG4QA = new AliPWG4HighPtQATPConly(Form("AliPWG4HighPtQATPConly%d",cuts));
taskPWG4QA->SetCuts(trackCuts);
taskPWG4QA->SetCutsITS(trackCutsITS);
- taskPWG4QA->SetMaxCosmicAngle(0.008);
-
-
+ taskPWG4QA->SetCutType(cuts);
+ if(!strcmp(prodType, "LHC10e14") || !strcmp(prodType, "PbPb")) taskPWG4QA->SetPtMax(500.);
+ else taskPWG4QA->SetPtMax(100.);
+
// E. Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
//------ input data ------
- // AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
- TString outputfile = AliAnalysisManager::GetCommonFileName();
- outputfile += ":PWG4_HighPtQATPConly";
- //char *outputfile = "outputAliPWG4HighPtQATPConlyTestTrain.root";
- AliAnalysisDataContainer *cout_hist0 = mgr->CreateContainer("qa_hists", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
- AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer("qa_histsTPC", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
- AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer("qa_histsITS", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
- AliAnalysisDataContainer *cout_hist3 = mgr->CreateContainer("qa_histsCosmics", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
-
+ TString outputfile = "";
+ outputfile = AliAnalysisManager::GetCommonFileName();
+ outputfile += Form(":PWG4_HighPtQATPConly%d",cuts);
+
+ AliAnalysisDataContainer *cout_hist0;
+ AliAnalysisDataContainer *cout_hist1;
+ AliAnalysisDataContainer *cout_hist2;
+
+ AliAnalysisDataContainer *cout_cuts0;
+ AliAnalysisDataContainer *cout_cuts1;
+
+ cout_hist0 = mgr->CreateContainer(Form("qa_histsCuts%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
+ cout_hist1 = mgr->CreateContainer(Form("qa_histsTPCCuts%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
+ cout_hist2 = mgr->CreateContainer(Form("qa_histsITSCuts%d",cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
+
+ cout_cuts0 = mgr->CreateContainer(Form("qa_trackCuts%d",cuts), AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer,outputfile);
+ cout_cuts1 = mgr->CreateContainer(Form("qa_trackCutsITS%d",cuts), AliESDtrackCuts::Class(), AliAnalysisManager::kParamContainer,outputfile);
+
+ //Add task to manager
mgr->AddTask(taskPWG4QA);
+ //Connect input containter to manager
mgr->ConnectInput(taskPWG4QA,0,mgr->GetCommonInputContainer());
+
+ //Connect output containers to manager
mgr->ConnectOutput(taskPWG4QA,0,cout_hist0);
mgr->ConnectOutput(taskPWG4QA,1,cout_hist1);
mgr->ConnectOutput(taskPWG4QA,2,cout_hist2);
- mgr->ConnectOutput(taskPWG4QA,3,cout_hist3);
+ mgr->ConnectOutput(taskPWG4QA,3,cout_cuts0);
+ mgr->ConnectOutput(taskPWG4QA,4,cout_cuts1);
// Return task pointer at the end
return taskPWG4QA;