TObject(),
fClassMask(0),
fClusterMask(0),
+ fL0TriggerInputs(0),
+ fL1TriggerInputs(0),
+ fL2TriggerInputs(0),
fConfiguration(NULL)
{
// Default constructor
TObject(),
fClassMask(0),
fClusterMask(0),
+ fL0TriggerInputs(0),
+ fL1TriggerInputs(0),
+ fL2TriggerInputs(0),
fConfiguration(NULL)
{
// Default constructor
// Delete the active configuration
fClassMask = 0;
fClusterMask = 0;
+ fL0TriggerInputs = 0;
+ fL1TriggerInputs = 0;
+ fL2TriggerInputs = 0;
if (fConfiguration) {
if (IsOwner()) delete fConfiguration;
fConfiguration = 0x0;
// Reset Class Mask and classes
fClassMask = 0;
fClusterMask = 0;
+ fL0TriggerInputs = 0;
+ fL1TriggerInputs = 0;
+ fL2TriggerInputs = 0;
if (fConfiguration) {
const TObjArray& classesArray = fConfiguration->GetClasses();
TBranch* branch = tree->GetBranch( name );
if( branch == 0x0 ) {
AliDebug( 1, "Creating new branch" );
- branch = tree->Branch( name, &(this->fClassMask), "fClassMask/l:fClusterMask/i" );
+ branch = tree->Branch( name, &(this->fClassMask), "fClassMask/l:fClusterMask/i:fL0TriggerInputs/i:fL1TriggerInputs/i:fL2TriggerInputs/s" );
branch->SetAutoDelete( kFALSE );
}
else {
// Process each event
for( Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++ ) {
- AliInfo( Form("Processing event %d", iEvent) );
runLoader->GetEvent( iEvent );
// Get detectors involve
TString detStr = GetDetectors();
// Check trigger conditions and create the trigger class mask
TriggerClasses();
+ // Calculate trigger Input pattern
+ TriggerInputs();
// Clear trigger detectors
trgdetArray.SetOwner();
// Save trigger mask
tree->Fill();
- AliInfo( Form("Trigger Class Mask:0x%X", fClassMask ) );
+ AliDebug(1, Form("Event:%d Class Mask:0x%X", iEvent,fClassMask ) );
} // end event loop
Reset();
return kTRUE;
}
-
+//----------------------------------------------------------------------------
+void AliCentralTrigger::TriggerInputs()
+{
+ // Find which inputs are in configuration
+ // and calculate input pattern
+ fL0TriggerInputs=0;
+ fL1TriggerInputs=0;
+ fL2TriggerInputs=0;
+ if(fConfiguration){
+ const TObjArray& inputsArray = fConfiguration->GetInputs();
+ Int_t ninputs = inputsArray.GetEntriesFast();
+ for( Int_t j=0; j<ninputs; j++ ) {
+ AliTriggerInput* input = (AliTriggerInput*)inputsArray.At( j );
+ if(input->GetValue()){
+ UChar_t level=input->GetLevel();
+ if(level == 0) fL0TriggerInputs |= (input->GetMask());
+ else if(level == 1) fL1TriggerInputs |= (input->GetMask());
+ else if(level == 2) fL2TriggerInputs |= (input->GetMask());
+ else{
+ AliError(Form("Unknown input level:%c:",level));
+ }
+ }
+ }
+ }
+}
//_____________________________________________________________________________
ULong64_t AliCentralTrigger::TriggerClasses()
{