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