]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskQualityAssurancePA.C
Updates from Redmer
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskQualityAssurancePA.C
CommitLineData
aeaad255 1AliAnalysisTaskQualityAssurancePA* AddTaskQualityAssurancePA(
2 Double_t jetRadius = 0.4,
3 Int_t trigger = AliVEvent::kINT7,
4 Bool_t isMC = kFALSE,
5 const char* usedTracks = "PicoTracks",
6 const char* usedClusters = "CaloClustersCorr",
7 Double_t trackEtaWindow = 0.9,
8 Double_t vertexWindow = 10.0,
9 Double_t vertexMaxR = 1.0,
10 Double_t minJetPt = 5.0, // signal jet min pt
11 Int_t numberOfPtHardBins = 0,
0983dd5b 12 TString runNumbers = "195344 195346 195351 195389 195390 195391 195478 195479 195480 195481 195482 195483",
13 Bool_t isEMCalTrain = kTRUE
aeaad255 14)
15{
16 // #### Detect the demanded trigger with its readable name
17 TString triggerName(Form("Trigger_%i", trigger));
18 if (trigger == AliVEvent::kAnyINT)
19 triggerName = "kAnyINT";
20 else if (trigger == AliVEvent::kAny)
21 triggerName = "kAny";
22 else if(trigger == AliVEvent::kINT7)
23 triggerName = "kINT7";
24 else if(trigger == AliVEvent::kMB)
25 triggerName = "kMB";
26 else if(trigger == AliVEvent::kEMC7)
27 triggerName = "kEMC7";
28 else if(trigger == AliVEvent::kEMCEJE)
29 triggerName = "kEMCEJE";
30 else if(trigger == AliVEvent::kEMCEGA)
31 triggerName = "kEMCEGA";
32
33 // #### On EMCaltrain automatically determine the run numbers
34 if (gSystem->Getenv("ETRAIN_RUNNO") && runNumbers == "")
35 runNumbers = gSystem->Getenv("ETRAIN_RUNNO");
36
37
38 Int_t numberOfAnalyzedRuns = runNumbers.Tokenize(" ")->GetEntries();
39
40 ::Info("AddTaskQualityAssurancePA", Form("Running with event selection %s on N=%d runs (%s)",triggerName.Data(), numberOfAnalyzedRuns, runNumbers.Data()));
41
42 // #### Define manager and data container names
43
44 AliAnalysisManager *manager = AliAnalysisManager::GetAnalysisManager();
45 if (!manager) {
46 ::Error("AddTaskQualityAssurancePA", "No analysis manager to connect to.");
47 return NULL;
48 }
49 TString myContName("");
50 if(isMC)
51 myContName = Form("QualityAssurancePA_R0%2.0f_%s_MC",jetRadius*100,triggerName.Data());
52 else
53 myContName = Form("QualityAssurancePA_R0%2.0f_%s",jetRadius*100,triggerName.Data());
54
55 // #### Add necessary jet finder tasks
56 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
57 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,"",1,jetRadius,1,0.150,0.300);// anti-kt
58
59 // #### Define analysis task
60 AliAnalysisTaskQualityAssurancePA *task = NULL;
61 contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChargedJetsPA", AliAnalysisManager::GetCommonFileName()));
62
63 task = new AliAnalysisTaskQualityAssurancePA(Form("QualityAssurancePA_%s_%s", jetFinderTask->GetName(), triggerName.Data()), usedTracks, usedClusters, jetFinderTask->GetName());
64
65 if(isEMCalTrain)
e8df4140 66 RequestMemory(task,200*1024);
aeaad255 67
68 // #### Task preferences
69 task->SetAcceptanceWindows(trackEtaWindow, vertexWindow, vertexMaxR, jetRadius);
70 task->SetRunNumbers(runNumbers);
71 task->SetSignalJetMinPt(minJetPt);
72 task->SetSignalJetMinArea(0.6*jetRadius*jetRadius*TMath::Pi());
73 task->SelectCollisionCandidates(trigger);
74 if(numberOfPtHardBins)
75 task->SetNumberOfPtHardBins(numberOfPtHardBins);
76
77 // #### Add analysis task
78 manager->AddTask(task);
0983dd5b 79
aeaad255 80 manager->ConnectInput(task, 0, manager->GetCommonInputContainer());
81 manager->ConnectOutput(task, 1, contHistos);
82 return task;
83}