#include "TTree.h"
// header files of library components
-#include "AliHLTEventSummaryProducerComponent.h"
-#include "AliHLTRunSummaryProducerComponent.h"
#include "AliHLTTriggerBarrelMultiplicity.h"
#include "AliHLTD0Trigger.h"
#include "AliHLTTriggerITSMultiplicity.h"
#include "AliHLTTriggerBarrelGeomMultiplicity.h"
-#include "AliHLTTriggerBarrelCosmic.h"
#include "AliHLTGlobalTriggerComponent.h"
#include "AliHLTTriggerPhosClusterEnergy.h"
+#include "AliHLTTriggerEmcalClusterEnergy.h"
#include "AliHLTTriggerPhosMip.h"
#include "AliHLTTriggerTrdClusterMultiplicity.h"
#include "AliHLTTriggerGammaConversion.h"
#include "AliHLTMuonSpectroTriggerComponent.h"
+#include "AliHLTUpcTriggerComponent.h"
+#include "AliHLTTriggerCosmics.h"
+#include "AliHLTTriggerCounterComponent.h"
+#include "AliHLTTriggerEmcalElectron.h"
+//#include "AliHLTTriggerFastJet.h"
+#include "AliHLTFastJetMonitorComponent.h"
+#include "AliHLTEmcalElectronMonitorComponent.h"
/** global instance for agent registration */
AliHLTTriggerAgent gAliHLTTriggerAgent;
pHandler->AddComponent(new AliHLTTriggerITSMultiplicity);
pHandler->AddComponent(new AliHLTD0Trigger);
pHandler->AddComponent(new AliHLTTriggerBarrelGeomMultiplicity);
- pHandler->AddComponent(new AliHLTTriggerBarrelCosmic);
pHandler->AddComponent(new AliHLTTriggerPhosClusterEnergy);
+ pHandler->AddComponent(new AliHLTTriggerEmcalClusterEnergy);
pHandler->AddComponent(new AliHLTTriggerPhosMip);
pHandler->AddComponent(new AliHLTTriggerTrdClusterMultiplicity);
pHandler->AddComponent(new AliHLTTriggerGammaConversion);
pHandler->AddComponent(new AliHLTMuonSpectroTriggerComponent);
- return 0;
+ pHandler->AddComponent(new AliHLTUpcTriggerComponent);
+ pHandler->AddComponent(new AliHLTTriggerCosmics);
+ pHandler->AddComponent(new AliHLTTriggerCounterComponent);
+ pHandler->AddComponent(new AliHLTTriggerEmcalElectron);
+ //pHandler->AddComponent(new AliHLTTriggerFastJet);
+ pHandler->AddComponent(new AliHLTFastJetMonitorComponent);
+ pHandler->AddComponent(new AliHLTEmcalElectronMonitorComponent);
+ return 0;
}
int AliHLTTriggerAgent::CreateConfigurations(AliHLTConfigurationHandler* pHandler,
- AliRawReader* /*rawReader*/,
- AliRunLoader* /*runloader*/) const
+ AliRawReader* rawReader,
+ AliRunLoader* runloader) const
{
// see header file for class documentation
if (!pHandler) return -EINVAL;
// a central barrel charged particle multiplicity trigger
configurationId="TRIGGER-Barrel-Multiplicity";
- // define the inputsfor the BarrelMultiplicityTrigger
+ // define the inputs for the BarrelMultiplicityTrigger
triggerInputs="GLOBAL-esd-converter";
// check for the availibility
delete pTokens;
}
+ TString arg;
if (triggerInputs.Length()>0) {
+ // define multiple instances of the BarrelMultiplicityTrigger with different settings
HLTInfo("Configuring inputs for %s: %s", configurationId.Data(), triggerInputs.Data());
pHandler->CreateConfiguration(configurationId.Data(), "BarrelMultiplicityTrigger", triggerInputs.Data(), "");
if (triggerOutputs.Length()>0) triggerOutputs+=" ";
triggerOutputs+=configurationId;
+
+ configurationId="TRIGGER-Barrel-HighMultiplicity";
+ arg="-triggername BarrelHighMultiplicity";
+ pHandler->CreateConfiguration(configurationId.Data(), "BarrelMultiplicityTrigger", triggerInputs.Data(), arg.Data());
+ if (triggerOutputs.Length()>0) triggerOutputs+=" ";
+ triggerOutputs+=configurationId;
+
+ configurationId="TRIGGER-Barrel-Pt_v01";
+ arg="-triggername BarrelPt_v01";
+ pHandler->CreateConfiguration(configurationId.Data(), "BarrelMultiplicityTrigger", triggerInputs.Data(), arg.Data());
+ if (triggerOutputs.Length()>0) triggerOutputs+=" ";
+ triggerOutputs+=configurationId;
+
+ configurationId="TRIGGER-Barrel-Pt_v02";
+ arg="-triggername BarrelPt_v02";
+ pHandler->CreateConfiguration(configurationId.Data(), "BarrelMultiplicityTrigger", triggerInputs.Data(), arg.Data());
+ if (triggerOutputs.Length()>0) triggerOutputs+=" ";
+ triggerOutputs+=configurationId;
+
+ configurationId="TRIGGER-Barrel-Pt_v03";
+ arg="-triggername BarrelPt_v03";
+ pHandler->CreateConfiguration(configurationId.Data(), "BarrelMultiplicityTrigger", triggerInputs.Data(), arg.Data());
+ if (triggerOutputs.Length()>0) triggerOutputs+=" ";
+ triggerOutputs+=configurationId;
} else {
HLTWarning("No inputs for %s found, skipping component", configurationId.Data());
}
HLTWarning("No inputs for %s found, skipping component.", configurationId.Data());
}
+ /////////////////////////////////////////////////////////////////////////////////////
+ // D0 trigger
+ configurationId = "TRIGGER-D0";
+ if(runloader && !rawReader){
+ // simulation without simulated raw data
+ // use ESD as input
+ triggerInputs="GLOBAL-esd-converter ";
+ }
+ else{
+ // simulation with simulated raw data, or raw data reconstruction
+ // use input from ITS tracker and vertexer directly
+ triggerInputs="ITS-tracker GLOBAL-vertexer";
+ }
+
+ // check for the availibility of inputs
+ pTokens=triggerInputs.Tokenize(" ");
+ triggerInputs="";
+ if (pTokens) {
+ for (int n=0; n<pTokens->GetEntriesFast(); n++) {
+ TString module=((TObjString*)pTokens->At(n))->GetString();
+ if (pHandler->FindConfiguration(module.Data())) {
+ triggerInputs+=module;
+ triggerInputs+=" ";
+ }
+ }
+ delete pTokens;
+ }
+
+ TString argD0 = "";
+ if (triggerInputs.Length()>0) {
+ HLTInfo("Configuring inputs for %s: %s", configurationId.Data(), triggerInputs.Data());
+ pHandler->CreateConfiguration(configurationId.Data(), "D0Trigger", triggerInputs.Data(), argD0.Data());
+ // FIXME: due to a rare segfault for reconstruction of PbPb data the
+ // component is temporarily excluded
+ // https://savannah.cern.ch/bugs/?72590
+ //if (triggerOutputs.Length()>0) triggerOutputs+=" ";
+ //triggerOutputs+=configurationId;
+ } else {
+ HLTWarning("No inputs for %s found, skipping component", configurationId.Data());
+ }
+
/////////////////////////////////////////////////////////////////////////////////////
//
// the global trigger component
{
// see header file for class documentation
- return "libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTITS.so libAliHLTGlobal.so libAliHLTMUON.so";
+ return "";
}
int AliHLTTriggerAgent::GetHandlerDescription(AliHLTComponentDataType dt,
fSize=pMsg->CompLength();
fpData->Set(fSize, pMsg->CompBuffer());
}
+ delete pMsg;
+ pMsg=NULL;
} else {
HLTError("streaming of objects failed");
}