+void AddTaskPWG4HighPtQAMCAll(char *prodType = "LHC10e14") {
-//DEFINITION OF A FEW CONSTANTS
+ AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,0);
+ AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,1);
+ AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,2);
+ // AliPWG4HighPtQAMC *taskQAMC10 = AddTaskPWG4HighPtQAMC(prodType,1,0);
+ // AliPWG4HighPtQAMC *taskQAMC20 = AddTaskPWG4HighPtQAMC(prodType,2,0);
+ AliPWG4HighPtQAMC *taskQAMC70 = AddTaskPWG4HighPtQAMC(prodType,7,0);
+ AliPWG4HighPtQAMC *taskQAMC70 = AddTaskPWG4HighPtQAMC(prodType,7,1);
+}
-AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC(char *prodType = "LHC10e14", int trackType = 0)
+AliPWG4HighPtQAMC* AddTaskPWG4HighPtQAMC(char *prodType = "LHC10e14", Int_t trackType = 0, Int_t cuts =0)
{
// Creates HighPtQAMC analysis task and adds it to the analysis manager.
+
+ //Track types:
+ //trackType
+ // 0: global tracks
+ // 1: TPConly tracks
+ // 2: TPConly constrained tracks
+
+ //Load common track cut class
+ gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/CreateTrackCutsPWG4.C");
// A. Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
//CREATE THE CUTS -----------------------------------------------
//Use AliESDtrackCuts
AliESDtrackCuts *trackCuts = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts");
+ AliESDtrackCuts *trackCutsReject = 0x0;
//Standard Cuts
//Set track cuts for global tracks
- if(trackType==0) {
- trackCuts = trackCuts->GetStandardITSTPCTrackCuts2010(kTRUE);//Primary Track Selection
- trackCuts->SetRequireITSRefit(kTRUE);
+ if(trackType==0 && cuts==0) {
+ // tight global tracks - RAA analysis
+ trackCuts = CreateTrackCutsPWG4(1000);
+ }
+ if(trackType==0 && cuts==1) {
+ //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
+ trackCuts = CreateTrackCutsPWG4(10001001);
+ }
+ if(trackType==0 && cuts==2) {
+ //Cuts global tracks with ITSrefit requirement but without SPD
+ trackCuts = CreateTrackCutsPWG4(10011001);
}
- if(trackType==3) {
- //Cuts global tracks with ITSrefit requirement
- // TPC
- trackCuts->SetMinNClustersTPC(70);
- trackCuts->SetMaxChi2PerClusterTPC(4);
- trackCuts->SetAcceptKinkDaughters(kFALSE);
- trackCuts->SetRequireTPCRefit(kTRUE);
- // ITS
- trackCuts->SetRequireITSRefit(kTRUE);
-
- trackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
- trackCuts->SetMaxDCAToVertexZ(2);
- trackCuts->SetDCAToVertex2D(kFALSE);
- trackCuts->SetRequireSigmaToVertex(kFALSE);
-
- trackCuts->SetEtaRange(-0.9,0.9);
- trackCuts->SetPtRange(0.15, 1e10);
+ if(trackType==7 && cuts==0) {
+ // tight global tracks
+ trackCuts = CreateTrackCutsPWG4(10041001);
+ trackCutsReject = CreateTrackCutsPWG4(1001);
+ }
+ if(trackType==7 && cuts==1) {
+ // tight global tracks
+ trackCuts = CreateTrackCutsPWG4(10011001);
}
//Set track cuts for TPConly tracks
if(trackType==1 || trackType==2) {
- trackCuts = trackCuts->GetStandardTPCOnlyTrackCuts();
- trackCuts->SetMinNClustersTPC(70);
+ //Set track cuts for TPConly tracks
+ trackCuts = CreateTrackCutsPWG4(2001);
}
trackCuts->SetEtaRange(-0.9,0.9);
trackCuts->SetPtRange(0.15, 1e10);
- AliESDtrackCuts *trackCutsITS = new AliESDtrackCuts("AliESDtrackCuts","Standard Cuts with SPD or SDD");
- //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);
-
//Create the task
- AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC(Form("AliPWG4HighPtQAMC%d",trackType));
+ AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC(Form("AliPWG4HighPtQAMC%d%d",trackType,cuts));
taskPWG4QAMC->SetCuts(trackCuts);
- taskPWG4QAMC->SetCutsITS(trackCutsITS);
+ taskPWG4QAMC->SetCutsReject(trackCutsReject);
taskPWG4QAMC->SetTrackType(trackType);
if(!strcmp(prodType, "LHC10e14")) taskPWG4QAMC->SetPtMax(500.);
// AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
printf("Create output containers \n");
TString outputfile = AliAnalysisManager::GetCommonFileName();
- outputfile += Form(":PWG4_HighPtQAMC%d",trackType);
+ outputfile += Form(":PWG4_HighPtQAMC%d%d",trackType,cuts);
- AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer(Form("qa_histsMC%d",trackType), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
- AliAnalysisDataContainer *cout_hist2 = mgr->CreateContainer(Form("qa_histsMCITS%d",trackType), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
+ AliAnalysisDataContainer *cout_hist1 = mgr->CreateContainer(Form("qa_histsMC%d%d",trackType,cuts), TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
mgr->AddTask(taskPWG4QAMC);
mgr->ConnectInput(taskPWG4QAMC,0,mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskPWG4QAMC,0,cout_hist1);
- mgr->ConnectOutput(taskPWG4QAMC,1,cout_hist2);
- // Return task pointer at the end
+ // Return task pointer at the end
return taskPWG4QAMC;
}