]>
Commit | Line | Data |
---|---|---|
aeaad255 | 1 | AliAnalysisTaskQualityAssurancePA* 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 | } |