]>
Commit | Line | Data |
---|---|---|
5193b38c | 1 | // $Id$ |
2 | ||
3 | AliJetResponseMaker* 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 | } |