]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskJetResponseMaker.C
Still using uncorr V0M (Alberica)
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetResponseMaker.C
CommitLineData
5193b38c 1// $Id$
2
3AliJetResponseMaker* AddTaskJetResponseMaker(
cfc2ac24 4 const char *ntracks1 = "Tracks",
5 const char *nclusters1 = "CaloClusters",
6 const char *njets1 = "Jets",
7 const char *nrho1 = "Rho",
8 const char *ntracks2 = "MCParticles",
9 const char *nclusters2 = "",
10 const char *njets2 = "MCJets",
11 const char *nrho2 = "",
624bef5b 12 Double_t jetradius = 0.2,
5193b38c 13 Double_t jetptcut = 1,
624bef5b 14 Double_t jetareacut = 0.557,
15 Double_t jetBiasTrack = 5,
16 Double_t jetBiasClus = 5,
cfc2ac24 17 UInt_t matching = AliJetResponseMaker::kGeometrical,
7f76e479 18 Double_t maxDistance1 = 0.25,
19 Double_t maxDistance2 = 0.25,
4643d2e8 20 UInt_t type = AliAnalysisTaskEmcal::kTPC,
21 Int_t ptHardBin = -999,
53dca394 22 const char *taskname = "AliJetResponseMaker",
cfc2ac24 23 Bool_t biggerMatrix = kFALSE,
53dca394 24 AliJetResponseMaker* address = 0
5193b38c 25)
26{
27 // Get the pointer to the existing analysis manager via the static access method.
28 //==============================================================================
29 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
30 if (!mgr)
31 {
32 ::Error("AddTaskJetResponseMaker", "No analysis manager to connect to.");
33 return NULL;
34 }
35
36 // Check the analysis type using the event handlers connected to the analysis manager.
37 //==============================================================================
38 if (!mgr->GetInputEventHandler())
39 {
40 ::Error("AddTaskJetResponseMaker", "This task requires an input event handler");
41 return NULL;
42 }
43
44 //-------------------------------------------------------
45 // Init the task and do settings
46 //-------------------------------------------------------
47
cfc2ac24 48 TString name(Form("%s_%s_%s_Track%d_Clus%d_",taskname,njets1,njets2,(Int_t)floor(jetBiasTrack),(Int_t)floor(jetBiasClus)));
624bef5b 49 if (type == AliAnalysisTaskEmcal::kTPC)
4643d2e8 50 name += "TPC";
51 else if (type == AliAnalysisTaskEmcal::kEMCAL)
52 name += "EMCAL";
624bef5b 53 else if (type == AliAnalysisTaskEmcal::kUser)
54 name += "USER";
4643d2e8 55 if (ptHardBin != -999) {
56 name += "_PtHard";
57 name += ptHardBin;
58 }
59
53dca394 60 AliJetResponseMaker* jetTask = address;
61 if (jetTask)
62 new (jetTask) AliJetResponseMaker(name);
63 else
64 jetTask = new AliJetResponseMaker(name);
65
5193b38c 66 jetTask->SetAnaType(type);
cfc2ac24 67 jetTask->SetTracksName(ntracks1);
68 jetTask->SetClusName(nclusters1);
69 jetTask->SetJetsName(njets1);
70 jetTask->SetRhoName(nrho1);
71 jetTask->SetTracks2Name(ntracks2);
72 jetTask->SetClus2Name(nclusters2);
73 jetTask->SetJets2Name(njets2);
74 jetTask->SetRho2Name(nrho2);
5193b38c 75 jetTask->SetJetRadius(jetradius);
76 jetTask->SetJetPtCut(jetptcut);
ceefbfbc 77 jetTask->SetPercAreaCut(jetareacut);
5193b38c 78 jetTask->SetPtBiasJetTrack(jetBiasTrack);
79 jetTask->SetPtBiasJetClus(jetBiasClus);
7f76e479 80 jetTask->SetMatching(matching, maxDistance1, maxDistance2);
4643d2e8 81 jetTask->SetVzRange(-10,10);
82 jetTask->SetPtHardBin(ptHardBin);
cfc2ac24 83
84 if (biggerMatrix)
85 jetTask->SetHistoBins(1000,0,500);
5193b38c 86
87 //-------------------------------------------------------
88 // Final settings, pass to manager and set the containers
89 //-------------------------------------------------------
90
91 mgr->AddTask(jetTask);
92
93 // Create containers for input/output
94 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
4643d2e8 95 TString contname(name);
5193b38c 96 contname += "_histos";
97 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
98 TList::Class(),AliAnalysisManager::kOutputContainer,
99 Form("%s", AliAnalysisManager::GetCommonFileName()));
100 mgr->ConnectInput (jetTask, 0, cinput1 );
101 mgr->ConnectOutput (jetTask, 1, coutput1 );
102
103 return jetTask;
104}