]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskScale.C
3e43dcd9b25daaf6e8997e549e98cf0e9655014d
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskScale.C
1 // $Id$
2
3 AliAnalysisTaskScale* AddTaskScale(
4   const char *nTracks        = "Tracks",
5   const char *nClusters      = "CaloClustersCorr",
6   Double_t    trackptcut     = 0.150,
7   Double_t    clusptcut      = 0.150,
8   const char *taskname       = "Scale",
9   const char *outfilename    = "AnalysisResults.root"
10 )
11 {  
12   // Get the pointer to the existing analysis manager via the static access method.
13   //==============================================================================
14   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15   if (!mgr)
16   {
17     ::Error("AddTaskScale", "No analysis manager to connect to.");
18     return NULL;
19   }  
20   
21   // Check the analysis type using the event handlers connected to the analysis manager.
22   //==============================================================================
23   if (!mgr->GetInputEventHandler())
24   {
25     ::Error("AddTaskScale", "This task requires an input event handler");
26     return NULL;
27   }
28   
29   //-------------------------------------------------------
30   // Init the task and do settings
31   //-------------------------------------------------------
32
33   TString name(Form("%s_%s_%s_%d_%d", taskname, nTracks, nClusters, TMath::FloorNint(trackptcut*1000), TMath::FloorNint(clusptcut*1000)));
34   AliAnalysisTaskScale *scaletask = new AliAnalysisTaskScale(name);
35   AliParticleContainer *pcont = scaletask->AddParticleContainer(nTracks);
36   if(pcont) {
37     pcont->SetParticlePtCut(trackptcut);
38     pcont->SetParticleEtaLimits(-0.7,0.7); // only accept tracks in the EMCal eta range
39   }
40   AliClusterContainer  *ccont = scaletask->AddClusterContainer(nClusters);
41   if(ccont) ccont->SetClusPtCut(clusptcut);
42
43   //-------------------------------------------------------
44   // Final settings, pass to manager and set the containers
45   //-------------------------------------------------------
46
47   mgr->AddTask(scaletask);
48
49   // Create containers for input/output
50   TString contname(name);
51   contname += "_Histos";
52   mgr->ConnectInput (scaletask, 0, mgr->GetCommonInputContainer() );
53   AliAnalysisDataContainer *coscale = mgr->CreateContainer(contname,
54                                                            TList::Class(),
55                                                            AliAnalysisManager::kOutputContainer,
56                                                            outfilename);
57   mgr->ConnectOutput(scaletask,1,coscale);
58
59   return scaletask;
60 }