+++ /dev/null
-void AddTaskPWG4HighPtQAMCAll(char *prodType = "LHC10e14") {
-
- AliPWG4HighPtQAMC *taskQAMC00 = AddTaskPWG4HighPtQAMC(prodType,0,0);
- AliPWG4HighPtQAMC *taskQAMC01 = AddTaskPWG4HighPtQAMC(prodType,0,1);
- // AliPWG4HighPtQAMC *taskQAMC02 = AddTaskPWG4HighPtQAMC(prodType,0,2);
- // AliPWG4HighPtQAMC *taskQAMC10 = AddTaskPWG4HighPtQAMC(prodType,1,0);
- // AliPWG4HighPtQAMC *taskQAMC20 = AddTaskPWG4HighPtQAMC(prodType,2,0);
- AliPWG4HighPtQAMC *taskQAMC70 = AddTaskPWG4HighPtQAMC(prodType,7,0);
- AliPWG4HighPtQAMC *taskQAMC71 = AddTaskPWG4HighPtQAMC(prodType,7,1);
- AliPWG4HighPtQAMC *taskQAMC72 = AddTaskPWG4HighPtQAMC(prodType,7,2);
-}
-
-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.
- //==============================================================================
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
- if (!mgr) {
- Error("AddTaskPWG4HighPtQMC", "No analysis manager to connect to.");
- return NULL;
- }
-
- // B. Check the analysis type using the event handlers connected to the analysis
- // manager. The availability of MC handler can also be checked here.
- //==============================================================================
- if (!mgr->GetInputEventHandler()) {
- ::Error("AddPWG4TaskHighPtQAMC", "This task requires an input event handler");
- return NULL;
- }
- TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
- const char *analysisType = "ESD";
-
- // C. Create the task, add it to manager.
- //===========================================================================
-
- //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 && 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(10001006);
- }
- if(trackType==0 && cuts==2) {
- //Cuts global tracks with ITSrefit requirement but without SPD
- trackCuts = CreateTrackCutsPWG4(10011006);
- }
- if(trackType==7 && cuts==0) {
- // tight global tracks
- trackCuts = CreateTrackCutsPWG4(10041006);
- trackCutsReject = CreateTrackCutsPWG4(1006);
- trackCutsReject->SetEtaRange(-0.9,0.9);
- trackCutsReject->SetPtRange(0.15, 1e10);
- }
- if(trackType==7 && cuts==1) {
- // tight global tracks
- trackCuts = CreateTrackCutsPWG4(10011006);
- }
- if(trackType==7 && cuts==2) {
- // no requirements on SPD and ITSrefit failed
- trackCuts = CreateTrackCutsPWG4(10041006); //no ITSrefit requirement filter 256
- trackCutsReject = CreateTrackCutsPWG4(10001006); //ITSrefit requirement filter 16
- trackCutsReject->SetEtaRange(-0.9,0.9);
- trackCutsReject->SetPtRange(0.15, 1e10);
- }
-
- //Set track cuts for TPConly tracks
- if(trackType==1 || trackType==2) {
- //Set track cuts for TPConly tracks
- trackCuts = CreateTrackCutsPWG4(2001);
- }
- trackCuts->SetEtaRange(-0.9,0.9);
- trackCuts->SetPtRange(0.15, 1e10);
-
- //Create the task
- AliPWG4HighPtQAMC *taskPWG4QAMC = new AliPWG4HighPtQAMC(Form("AliPWG4HighPtQAMC%d%d",trackType,cuts));
- taskPWG4QAMC->SetCuts(trackCuts);
- taskPWG4QAMC->SetCutsReject(trackCutsReject);
- taskPWG4QAMC->SetTrackType(trackType);
-
- if(!strcmp(prodType, "LHC10e14")) taskPWG4QAMC->SetPtMax(500.);
- else taskPWG4QAMC->SetPtMax(100.);
-
- //taskPWG4QAMC->SetSigmaConstrainedMax(5.);
-
- // 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();
- printf("Create output containers \n");
- TString outputfile = AliAnalysisManager::GetCommonFileName();
- outputfile += Form(":PWG4_HighPtQAMC%d%d",trackType,cuts);
-
- 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);
-
- // Return task pointer at the end
- return taskPWG4QAMC;
-}