]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/macros/AddTaskEmcalTriggerMaker.C
Enlarging window for DCS DPs retrieval for short runs for GRP + Keeping connection...
[u/mrichter/AliRoot.git] / PWG / EMCAL / macros / AddTaskEmcalTriggerMaker.C
CommitLineData
00c77045 1// $Id$
2
3AliEmcalTriggerMaker* AddTaskEmcalTriggerMaker(
4 const char *triggersOutName = "EmcalTriggers",
5 const char *triggerSetupOutName = "EmcalTriggerSetup",
6 const char *cellsName = 0,
7 const char *triggersName = 0,
001765f7 8 const char *taskName = "AliEmcalTriggerMaker",
9 int jetLowA = 0,
10 int jetLowB = 0,
11 int jetLowC = 0,
12 int jetHighA = 0,
13 int jetHighB = 0,
19dfd8dd 14 int jetHighC = 0,
15 bool doQA = kFALSE
00c77045 16)
17{
18 // Get the pointer to the existing analysis manager via the static access method.
19 //==============================================================================
20 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 if (!mgr)
22 {
23 ::Error("AddTaskEmcalTriggerMaker", "No analysis manager to connect to.");
24 return NULL;
25 }
26
27 // Check the analysis type using the event handlers connected to the analysis manager.
28 //==============================================================================
29 AliVEventHandler *evhand = mgr->GetInputEventHandler();
30 if (!evhand) {
31 ::Error("AddTaskEmcalTriggerMaker", "This task requires an input event handler");
32 return NULL;
33 }
34
dbe9e647 35 TString strTriggersName(triggersName);
1508a00b 36 TString strCellsName(cellsName);
00c77045 37
1508a00b 38 if(strTriggersName.IsNull()) {
00c77045 39 if (evhand->InheritsFrom("AliESDInputHandler")) {
1508a00b 40 strTriggersName = "EMCALTrigger";
41 ::Info("AddTaskEmcalTriggerMaker", Form( "ESD analysis, triggersName = \"%s\"", strTriggersName.Data() ));
00c77045 42 }
43 else {
1508a00b 44 strTriggersName = "emcalTrigger";
45 ::Info("AddTaskEmcalTriggerMaker", Form( "AOD analysis, triggersName = \"%s\"", strTriggersName.Data() ));
00c77045 46 }
47 }
00c77045 48
827e8cc3 49 if(strCellsName.IsNull()) {
00c77045 50 if (evhand->InheritsFrom("AliESDInputHandler")) {
1508a00b 51 strCellsName = "EMCALCells";
52 ::Info("AddTaskEmcalTriggerMaker", Form( "ESD analysis, cellsName = \"%s\"", strCellsName.Data() ));
00c77045 53 }
54 else {
1508a00b 55 strCellsName = "emcalCells";
56 ::Info("AddTaskEmcalTriggerMaker", Form( "AOD analysis, cellsName = \"%s\"", strCellsName.Data() ));
00c77045 57 }
58 }
1508a00b 59
001765f7 60 char *v0Name;
61 v0Name = new char[100];
62 if (evhand->InheritsFrom("AliESDInputHandler")) {
63 strcpy(v0Name,"AliESDVZERO");
64 ::Info("AddTaskEmcalTriggerMaker", Form( "ESD analysis, v0Name = \"%s\"", v0Name ));
65 }
66 else {
67 strcpy(v0Name,"AliAODVZERO");
1508a00b 68 ::Info("AddTaskEmcalTriggerMaker", Form( "AOD analysis, v0Name = \"%s\"", v0Name ));
001765f7 69 }
00c77045 70
71 //-------------------------------------------------------
72 // Init the task and do settings
73 //-------------------------------------------------------
74
19dfd8dd 75 AliEmcalTriggerMaker *eTask = new AliEmcalTriggerMaker(taskName, doQA);
1508a00b 76 eTask->SetCaloTriggersName(strTriggersName.Data());
00c77045 77 eTask->SetCaloTriggersOutName(triggersOutName);
78 eTask->SetCaloTriggerSetupOutName(triggerSetupOutName);
1508a00b 79 eTask->SetCaloCellsName(strCellsName.Data());
001765f7 80 eTask->SetV0InName(v0Name);
81 eTask->SetTriggerThresholdJetLow( jetLowA, jetLowB, jetLowC );
82 eTask->SetTriggerThresholdJetHigh( jetHighA, jetHighB, jetHighC );
00c77045 83
84 //-------------------------------------------------------
85 // Final settings, pass to manager and set the containers
86 //-------------------------------------------------------
87 mgr->AddTask(eTask);
88
89 // Create containers for input/output
90 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
91 mgr->ConnectInput (eTask, 0, cinput1 );
19dfd8dd 92
93 if(doQA){
94 TString commonoutput = mgr->GetCommonFileName();
95 commonoutput += ":TriggerQA";
96 mgr->ConnectOutput(eTask, 1, mgr->CreateContainer("TriggerQA", TList::Class(), AliAnalysisManager::kOutputContainer, commonoutput.Data()));
97 }
00c77045 98 return eTask;
99}