3 AliEmcalTriggerMaker* AddTaskEmcalTriggerMaker(
4 const char *triggersOutName = "EmcalTriggers",
5 const char *triggerSetupOutName = "EmcalTriggerSetup",
6 const char *cellsName = 0,
7 const char *triggersName = 0,
8 const char *taskName = "AliEmcalTriggerMaker",
17 // Get the pointer to the existing analysis manager via the static access method.
18 //==============================================================================
19 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22 ::Error("AddTaskEmcalTriggerMaker", "No analysis manager to connect to.");
26 // Check the analysis type using the event handlers connected to the analysis manager.
27 //==============================================================================
28 AliVEventHandler *evhand = mgr->GetInputEventHandler();
30 ::Error("AddTaskEmcalTriggerMaker", "This task requires an input event handler");
34 TString strTrigersName(triggersName);
35 TString strCellsName(cellsName);
37 if(strTriggersName.IsNull()) {
38 if (evhand->InheritsFrom("AliESDInputHandler")) {
39 strTriggersName = "EMCALTrigger";
40 ::Info("AddTaskEmcalTriggerMaker", Form( "ESD analysis, triggersName = \"%s\"", strTriggersName.Data() ));
43 strTriggersName = "emcalTrigger";
44 ::Info("AddTaskEmcalTriggerMaker", Form( "AOD analysis, triggersName = \"%s\"", strTriggersName.Data() ));
48 if(strCellssName.IsNull()) {
49 if (evhand->InheritsFrom("AliESDInputHandler")) {
50 strCellsName = "EMCALCells";
51 ::Info("AddTaskEmcalTriggerMaker", Form( "ESD analysis, cellsName = \"%s\"", strCellsName.Data() ));
54 strCellsName = "emcalCells";
55 ::Info("AddTaskEmcalTriggerMaker", Form( "AOD analysis, cellsName = \"%s\"", strCellsName.Data() ));
60 v0Name = new char[100];
61 if (evhand->InheritsFrom("AliESDInputHandler")) {
62 strcpy(v0Name,"AliESDVZERO");
63 ::Info("AddTaskEmcalTriggerMaker", Form( "ESD analysis, v0Name = \"%s\"", v0Name ));
66 strcpy(v0Name,"AliAODVZERO");
67 ::Info("AddTaskEmcalTriggerMaker", Form( "AOD analysis, v0Name = \"%s\"", v0Name ));
70 //-------------------------------------------------------
71 // Init the task and do settings
72 //-------------------------------------------------------
74 AliEmcalTriggerMaker *eTask = new AliEmcalTriggerMaker(taskName);
75 eTask->SetCaloTriggersName(strTriggersName.Data());
76 eTask->SetCaloTriggersOutName(triggersOutName);
77 eTask->SetCaloTriggerSetupOutName(triggerSetupOutName);
78 eTask->SetCaloCellsName(strCellsName.Data());
79 eTask->SetV0InName(v0Name);
80 eTask->SetTriggerThresholdJetLow( jetLowA, jetLowB, jetLowC );
81 eTask->SetTriggerThresholdJetHigh( jetHighA, jetHighB, jetHighC );
83 //-------------------------------------------------------
84 // Final settings, pass to manager and set the containers
85 //-------------------------------------------------------
88 // Create containers for input/output
89 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
90 mgr->ConnectInput (eTask, 0, cinput1 );