#include <TString.h>
#include <TObjString.h>
#include <TObjArray.h>
#include <TStopwatch.h>
#include <TFile.h>
#include <TTree.h>
#include "AliLog.h"
#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliLoader.h"
#include "AliModule.h"
#include "AliTriggerInput.h"
#include "AliTriggerDetector.h"
#include "AliTriggerConfiguration.h"
#include "AliTriggerClass.h"
#include "AliTriggerCluster.h"
#include "AliCentralTrigger.h"
#include "AliDetectorEventHeader.h"
#include "AliHeader.h"
#include "AliCDBManager.h"
#include "AliCDBPath.h"
#include "AliCDBEntry.h"
using std::endl;
using std::cout;
using std::hex;
using std::dec;
ClassImp( AliCentralTrigger )
AliCentralTrigger::AliCentralTrigger() :
TObject(),
fClassMask(0),
fClassMaskNext50(0),
fClusterMask(0),
fL0TriggerInputs(0),
fL1TriggerInputs(0),
fL2TriggerInputs(0),
fConfiguration(NULL)
{
SetOwner();
}
AliCentralTrigger::AliCentralTrigger( TString & config ) :
TObject(),
fClassMask(0),
fClassMaskNext50(0),
fClusterMask(0),
fL0TriggerInputs(0),
fL1TriggerInputs(0),
fL2TriggerInputs(0),
fConfiguration(NULL)
{
LoadConfiguration( config );
}
AliCentralTrigger::~AliCentralTrigger()
{
DeleteConfiguration();
}
void AliCentralTrigger::DeleteConfiguration()
{
fClassMask = 0;
fClassMaskNext50 = 0;
fClusterMask = 0;
fL0TriggerInputs = 0;
fL1TriggerInputs = 0;
fL2TriggerInputs = 0;
if (fConfiguration) {
if (IsOwner()) delete fConfiguration;
fConfiguration = 0x0;
}
}
void AliCentralTrigger::Reset()
{
fClassMask = 0;
fClassMaskNext50 = 0;
fClusterMask = 0;
fL0TriggerInputs = 0;
fL1TriggerInputs = 0;
fL2TriggerInputs = 0;
if (fConfiguration) {
const TObjArray& classesArray = fConfiguration->GetClasses();
Int_t nclasses = classesArray.GetEntriesFast();
for( Int_t j=0; j<nclasses; j++ ) {
AliTriggerClass* trclass = (AliTriggerClass*)classesArray.At( j );
trclass->Reset();
}
}
}
void AliCentralTrigger::MakeBranch( TString name, TTree * tree )
{
if( tree ) {
AliDebug( 1, "Got Tree from folder." );
TBranch* branch = tree->GetBranch( name );
if( branch == 0x0 ) {
AliDebug( 1, "Creating new branch" );
branch = tree->Branch( name, &(this->fClassMask), "fClassMask/l:fClassMaskNext50/l:fClusterMask/i:fL0TriggerInputs/i:fL1TriggerInputs/i:fL2TriggerInputs/s" );
branch->SetAutoDelete( kFALSE );
}
else {
AliDebug( 1, "Got Branch from Tree" );
branch->SetAddress( &(this->fClassMask) );
}
}
}
Bool_t AliCentralTrigger::LoadConfiguration( TString & config )
{
DeleteConfiguration();
if (!config.IsNull() && !config.EqualTo("ocdb",TString::kIgnoreCase)) {
fConfiguration = AliTriggerConfiguration::LoadConfiguration( config );
SetOwner();
if(fConfiguration)
return kTRUE;
else {
AliError( Form( "Valid TriggerConfiguration (%s) is not found ! Disabling the trigger simulation !", config.Data() ) );
return kFALSE;
}
}
else {
AliInfo( "Getting trigger configuration from OCDB!" );
AliCDBPath path( "GRP", "CTP", "Config" );
AliCDBEntry *entry=AliCDBManager::Instance()->Get(path.GetPath());
SetOwner(kFALSE);
if( !entry ) AliFatal( "Couldn't load trigger description data from CDB!" );
fConfiguration = (AliTriggerConfiguration *)entry->GetObject();
if(fConfiguration)
return kTRUE;
else {
AliError( "No valid configuration is found in the CDB ! Disabling the trigger simulation !" );
return kFALSE;
}
}
}
TString AliCentralTrigger::GetDetectors()
{
TString result;
if (fConfiguration)
result = fConfiguration->GetTriggeringModules();
return result;
}
Bool_t AliCentralTrigger::RunTrigger( AliRunLoader* runLoader, const char *detectors )
{
if( !fConfiguration ) {
AliError( "No trigger configuration loaded, skipping trigger" );
return kFALSE;
}
TTree *tree = runLoader->TreeCT();
if( !tree ) {
AliError( "No folder with trigger loaded, skipping trigger" );
return kFALSE;
}
TStopwatch stopwatch;
stopwatch.Start();
AliInfo( Form(" Triggering Detectors: %s \n", GetDetectors().Data() ) );
AliInfo( Form(" Detectors with digits: %s \n", detectors ) );
for( Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++ ) {
runLoader->GetEvent( iEvent );
TString detStr = GetDetectors();
TString detWithDigits = detectors;
TObjArray* detArray = runLoader->GetAliRun()->Detectors();
fClassMask = 0;
fClassMaskNext50 = 0;
fClusterMask = 0;
fConfiguration->Reset();
TObjArray trgdetArray;
for( Int_t iDet = 0; iDet < detArray->GetEntriesFast(); iDet++ ) {
AliModule* det = (AliModule*) detArray->At( iDet );
if( !det || !det->IsActive() ) continue;
if( IsSelected(det->GetName(), detStr) &&
IsSelected(det->GetName(), detWithDigits) ) {
AliDebug(1,Form("Triggering from digits for %s", det->GetName() ) );
AliTriggerDetector* trgdet = det->CreateTriggerDetector();
trgdet->AssignInputs(fConfiguration->GetInputs());
TStopwatch stopwatchDet;
stopwatchDet.Start();
trgdet->Trigger();
AliDebug(1, Form("Execution time for %s: R:%.2fs C:%.2fs",
det->GetName(), stopwatchDet.RealTime(), stopwatchDet.CpuTime() ) );
trgdetArray.AddLast( trgdet );
TString loadername = det->GetName();
loadername.Append( "Loader" );
AliLoader * loader = runLoader->GetLoader( loadername );
if( loader ) {
AliDataLoader * dataLoader = loader->GetDigitsDataLoader();
if( !dataLoader->IsFileOpen() ) {
if( dataLoader->OpenFile( "UPDATE" ) ) {
AliWarning( Form( "\n\nCan't write trigger for %s\n", det->GetName() ) );
}
}
dataLoader->Cd();
if( gFile && !gFile->IsWritable() ) {
gFile->ReOpen( "UPDATE" );
dataLoader->Cd();
}
trgdet->Write( "Trigger", TObject::kOverwrite );
dataLoader->CloseFile();
}
else AliWarning( Form( "Not loader found for %s", det->GetName() ) );
}
}
TriggerClasses();
TriggerInputs();
trgdetArray.SetOwner();
trgdetArray.Delete();
if( (detStr.CompareTo( "ALL" ) != 0) && !detStr.IsNull() ) {
AliError( Form("the following detectors were not found: %s",
detStr.Data()));
}
tree->Fill();
AliDebug(1, Form("Event:%d Class Mask:0x%llX 0x%llX", iEvent,fClassMask,fClassMaskNext50 ) );
}
Reset();
runLoader->WriteTrigger( "OVERWRITE" );
return kTRUE;
}
void AliCentralTrigger::TriggerInputs()
{
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()
{
fClassMask = 0;
fClassMaskNext50 = 0;
fClusterMask = 0;
if (fConfiguration) {
const TObjArray& classesArray = fConfiguration->GetClasses();
Int_t nclasses = classesArray.GetEntriesFast();
for( Int_t j=0; j<nclasses; j++ ) {
AliTriggerClass* trclass = (AliTriggerClass*)classesArray.At( j );
trclass->Trigger( fConfiguration->GetInputs(), fConfiguration->GetFunctions() );
fClassMask |= trclass->GetValue();
fClassMaskNext50 |= trclass->GetValueNext50();
if (trclass->GetStatus()) {
AliTriggerCluster *trclust = trclass->GetCluster();
fClusterMask |= AliDAQ::DetectorPattern(trclust->GetDetectorsInCluster());
}
}
}
return 0;
}
TObjArray* AliCentralTrigger::GetFiredClasses() const
{
TObjArray* result = new TObjArray();
if (fConfiguration) {
const TObjArray& classesArray = fConfiguration->GetClasses();
Int_t nclasses = classesArray.GetEntriesFast();
for( Int_t j=0; j<nclasses; j++ ) {
AliTriggerClass* trclass = (AliTriggerClass*)classesArray.At( j );
if( trclass->GetStatus() ) result->AddLast( trclass );
}
}
return result;
}
void AliCentralTrigger::Print( const Option_t* ) const
{
cout << "Central Trigger: " << endl;
cout << " Trigger Class Mask: 1..50 0x" << hex << fClassMask << " 51-100 0x"<< fClassMaskNext50 << dec << endl;
if (fConfiguration) fConfiguration->Print();
cout << endl;
}
Bool_t AliCentralTrigger::IsSelected( TString detName, TString& detectors ) const
{
if( (detectors.CompareTo("ALL") == 0 ) ||
detectors.BeginsWith("ALL ") ||
detectors.EndsWith(" ALL") ||
detectors.Contains(" ALL ") ) {
detectors = "ALL";
return kTRUE;
}
Bool_t result = kFALSE;
if( (detectors.CompareTo( detName ) == 0) ||
detectors.BeginsWith( detName+" " ) ||
detectors.EndsWith( " "+detName ) ||
detectors.Contains( " "+detName+" " ) ) {
detectors.ReplaceAll( detName, "" );
result = kTRUE;
}
while( detectors.Contains(" ") ) detectors.ReplaceAll( " ", " " );
while( detectors.BeginsWith(" ") ) detectors.Remove( 0, 1 );
while( detectors.EndsWith(" ") ) detectors.Remove( detectors.Length()-1, 1 );
return result;
}
Bool_t AliCentralTrigger::CheckTriggeredDetectors() const
{
if (!fConfiguration) {
AliError("The trigger confiration has not yet been loaded! Cross-check is not possible!");
return kFALSE;
}
else {
UInt_t clusterMask = 0;
const TObjArray& classesArray = fConfiguration->GetClasses();
Int_t nclasses = classesArray.GetEntriesFast();
for( Int_t j=0; j<nclasses; j++ ) {
AliTriggerClass* trclass = (AliTriggerClass*)classesArray.At( j );
if (trclass->GetMask() & fClassMask) {
AliTriggerCluster *trclust = trclass->GetCluster();
clusterMask |= AliDAQ::DetectorPattern(trclust->GetDetectorsInCluster());
}
if (trclass->GetMaskNext50() & fClassMaskNext50) {
AliTriggerCluster *trclust = trclass->GetCluster();
clusterMask |= AliDAQ::DetectorPattern(trclust->GetDetectorsInCluster());
}
}
if (clusterMask != fClusterMask) {
if ((clusterMask & fClusterMask) == clusterMask) {
AliInfo(Form("Cluster mask from trigger classes (%x) and from data (%x) differ. Concurrent DAQ run(s) could be the reason.",
(UInt_t)clusterMask,(UInt_t)fClusterMask));
return kTRUE;
}
else {
AliError(Form("Wrong cluster mask from trigger classes (%x), expecting (%x)! Loaded trigger configuration is possibly wrong!",
(UInt_t)clusterMask,(UInt_t)fClusterMask));
return kFALSE;
}
}
}
return kTRUE;
}
AliCentralTrigger.cxx:100 AliCentralTrigger.cxx:101 AliCentralTrigger.cxx:102 AliCentralTrigger.cxx:103 AliCentralTrigger.cxx:104 AliCentralTrigger.cxx:105 AliCentralTrigger.cxx:106 AliCentralTrigger.cxx:107 AliCentralTrigger.cxx:108 AliCentralTrigger.cxx:109 AliCentralTrigger.cxx:110 AliCentralTrigger.cxx:111 AliCentralTrigger.cxx:112 AliCentralTrigger.cxx:113 AliCentralTrigger.cxx:114 AliCentralTrigger.cxx:115 AliCentralTrigger.cxx:116 AliCentralTrigger.cxx:117 AliCentralTrigger.cxx:118 AliCentralTrigger.cxx:119 AliCentralTrigger.cxx:120 AliCentralTrigger.cxx:121 AliCentralTrigger.cxx:122 AliCentralTrigger.cxx:123 AliCentralTrigger.cxx:124 AliCentralTrigger.cxx:125 AliCentralTrigger.cxx:126 AliCentralTrigger.cxx:127 AliCentralTrigger.cxx:128 AliCentralTrigger.cxx:129 AliCentralTrigger.cxx:130 AliCentralTrigger.cxx:131 AliCentralTrigger.cxx:132 AliCentralTrigger.cxx:133 AliCentralTrigger.cxx:134 AliCentralTrigger.cxx:135 AliCentralTrigger.cxx:136 AliCentralTrigger.cxx:137 AliCentralTrigger.cxx:138 AliCentralTrigger.cxx:139 AliCentralTrigger.cxx:140 AliCentralTrigger.cxx:141 AliCentralTrigger.cxx:142 AliCentralTrigger.cxx:143 AliCentralTrigger.cxx:144 AliCentralTrigger.cxx:145 AliCentralTrigger.cxx:146 AliCentralTrigger.cxx:147 AliCentralTrigger.cxx:148 AliCentralTrigger.cxx:149 AliCentralTrigger.cxx:150 AliCentralTrigger.cxx:151 AliCentralTrigger.cxx:152 AliCentralTrigger.cxx:153 AliCentralTrigger.cxx:154 AliCentralTrigger.cxx:155 AliCentralTrigger.cxx:156 AliCentralTrigger.cxx:157 AliCentralTrigger.cxx:158 AliCentralTrigger.cxx:159 AliCentralTrigger.cxx:160 AliCentralTrigger.cxx:161 AliCentralTrigger.cxx:162 AliCentralTrigger.cxx:163 AliCentralTrigger.cxx:164 AliCentralTrigger.cxx:165 AliCentralTrigger.cxx:166 AliCentralTrigger.cxx:167 AliCentralTrigger.cxx:168 AliCentralTrigger.cxx:169 AliCentralTrigger.cxx:170 AliCentralTrigger.cxx:171 AliCentralTrigger.cxx:172 AliCentralTrigger.cxx:173 AliCentralTrigger.cxx:174 AliCentralTrigger.cxx:175 AliCentralTrigger.cxx:176 AliCentralTrigger.cxx:177 AliCentralTrigger.cxx:178 AliCentralTrigger.cxx:179 AliCentralTrigger.cxx:180 AliCentralTrigger.cxx:181 AliCentralTrigger.cxx:182 AliCentralTrigger.cxx:183 AliCentralTrigger.cxx:184 AliCentralTrigger.cxx:185 AliCentralTrigger.cxx:186 AliCentralTrigger.cxx:187 AliCentralTrigger.cxx:188 AliCentralTrigger.cxx:189 AliCentralTrigger.cxx:190 AliCentralTrigger.cxx:191 AliCentralTrigger.cxx:192 AliCentralTrigger.cxx:193 AliCentralTrigger.cxx:194 AliCentralTrigger.cxx:195 AliCentralTrigger.cxx:196 AliCentralTrigger.cxx:197 AliCentralTrigger.cxx:198 AliCentralTrigger.cxx:199 AliCentralTrigger.cxx:200 AliCentralTrigger.cxx:201 AliCentralTrigger.cxx:202 AliCentralTrigger.cxx:203 AliCentralTrigger.cxx:204 AliCentralTrigger.cxx:205 AliCentralTrigger.cxx:206 AliCentralTrigger.cxx:207 AliCentralTrigger.cxx:208 AliCentralTrigger.cxx:209 AliCentralTrigger.cxx:210 AliCentralTrigger.cxx:211 AliCentralTrigger.cxx:212 AliCentralTrigger.cxx:213 AliCentralTrigger.cxx:214 AliCentralTrigger.cxx:215 AliCentralTrigger.cxx:216 AliCentralTrigger.cxx:217 AliCentralTrigger.cxx:218 AliCentralTrigger.cxx:219 AliCentralTrigger.cxx:220 AliCentralTrigger.cxx:221 AliCentralTrigger.cxx:222 AliCentralTrigger.cxx:223 AliCentralTrigger.cxx:224 AliCentralTrigger.cxx:225 AliCentralTrigger.cxx:226 AliCentralTrigger.cxx:227 AliCentralTrigger.cxx:228 AliCentralTrigger.cxx:229 AliCentralTrigger.cxx:230 AliCentralTrigger.cxx:231 AliCentralTrigger.cxx:232 AliCentralTrigger.cxx:233 AliCentralTrigger.cxx:234 AliCentralTrigger.cxx:235 AliCentralTrigger.cxx:236 AliCentralTrigger.cxx:237 AliCentralTrigger.cxx:238 AliCentralTrigger.cxx:239 AliCentralTrigger.cxx:240 AliCentralTrigger.cxx:241 AliCentralTrigger.cxx:242 AliCentralTrigger.cxx:243 AliCentralTrigger.cxx:244 AliCentralTrigger.cxx:245 AliCentralTrigger.cxx:246 AliCentralTrigger.cxx:247 AliCentralTrigger.cxx:248 AliCentralTrigger.cxx:249 AliCentralTrigger.cxx:250 AliCentralTrigger.cxx:251 AliCentralTrigger.cxx:252 AliCentralTrigger.cxx:253 AliCentralTrigger.cxx:254 AliCentralTrigger.cxx:255 AliCentralTrigger.cxx:256 AliCentralTrigger.cxx:257 AliCentralTrigger.cxx:258 AliCentralTrigger.cxx:259 AliCentralTrigger.cxx:260 AliCentralTrigger.cxx:261 AliCentralTrigger.cxx:262 AliCentralTrigger.cxx:263 AliCentralTrigger.cxx:264 AliCentralTrigger.cxx:265 AliCentralTrigger.cxx:266 AliCentralTrigger.cxx:267 AliCentralTrigger.cxx:268 AliCentralTrigger.cxx:269 AliCentralTrigger.cxx:270 AliCentralTrigger.cxx:271 AliCentralTrigger.cxx:272 AliCentralTrigger.cxx:273 AliCentralTrigger.cxx:274 AliCentralTrigger.cxx:275 AliCentralTrigger.cxx:276 AliCentralTrigger.cxx:277 AliCentralTrigger.cxx:278 AliCentralTrigger.cxx:279 AliCentralTrigger.cxx:280 AliCentralTrigger.cxx:281 AliCentralTrigger.cxx:282 AliCentralTrigger.cxx:283 AliCentralTrigger.cxx:284 AliCentralTrigger.cxx:285 AliCentralTrigger.cxx:286 AliCentralTrigger.cxx:287 AliCentralTrigger.cxx:288 AliCentralTrigger.cxx:289 AliCentralTrigger.cxx:290 AliCentralTrigger.cxx:291 AliCentralTrigger.cxx:292 AliCentralTrigger.cxx:293 AliCentralTrigger.cxx:294 AliCentralTrigger.cxx:295 AliCentralTrigger.cxx:296 AliCentralTrigger.cxx:297 AliCentralTrigger.cxx:298 AliCentralTrigger.cxx:299 AliCentralTrigger.cxx:300 AliCentralTrigger.cxx:301 AliCentralTrigger.cxx:302 AliCentralTrigger.cxx:303 AliCentralTrigger.cxx:304 AliCentralTrigger.cxx:305 AliCentralTrigger.cxx:306 AliCentralTrigger.cxx:307 AliCentralTrigger.cxx:308 AliCentralTrigger.cxx:309 AliCentralTrigger.cxx:310 AliCentralTrigger.cxx:311 AliCentralTrigger.cxx:312 AliCentralTrigger.cxx:313 AliCentralTrigger.cxx:314 AliCentralTrigger.cxx:315 AliCentralTrigger.cxx:316 AliCentralTrigger.cxx:317 AliCentralTrigger.cxx:318 AliCentralTrigger.cxx:319 AliCentralTrigger.cxx:320 AliCentralTrigger.cxx:321 AliCentralTrigger.cxx:322 AliCentralTrigger.cxx:323 AliCentralTrigger.cxx:324 AliCentralTrigger.cxx:325 AliCentralTrigger.cxx:326 AliCentralTrigger.cxx:327 AliCentralTrigger.cxx:328 AliCentralTrigger.cxx:329 AliCentralTrigger.cxx:330 AliCentralTrigger.cxx:331 AliCentralTrigger.cxx:332 AliCentralTrigger.cxx:333 AliCentralTrigger.cxx:334 AliCentralTrigger.cxx:335 AliCentralTrigger.cxx:336 AliCentralTrigger.cxx:337 AliCentralTrigger.cxx:338 AliCentralTrigger.cxx:339 AliCentralTrigger.cxx:340 AliCentralTrigger.cxx:341 AliCentralTrigger.cxx:342 AliCentralTrigger.cxx:343 AliCentralTrigger.cxx:344 AliCentralTrigger.cxx:345 AliCentralTrigger.cxx:346 AliCentralTrigger.cxx:347 AliCentralTrigger.cxx:348 AliCentralTrigger.cxx:349 AliCentralTrigger.cxx:350 AliCentralTrigger.cxx:351 AliCentralTrigger.cxx:352 AliCentralTrigger.cxx:353 AliCentralTrigger.cxx:354 AliCentralTrigger.cxx:355 AliCentralTrigger.cxx:356 AliCentralTrigger.cxx:357 AliCentralTrigger.cxx:358 AliCentralTrigger.cxx:359 AliCentralTrigger.cxx:360 AliCentralTrigger.cxx:361 AliCentralTrigger.cxx:362 AliCentralTrigger.cxx:363 AliCentralTrigger.cxx:364 AliCentralTrigger.cxx:365 AliCentralTrigger.cxx:366 AliCentralTrigger.cxx:367 AliCentralTrigger.cxx:368 AliCentralTrigger.cxx:369 AliCentralTrigger.cxx:370 AliCentralTrigger.cxx:371 AliCentralTrigger.cxx:372 AliCentralTrigger.cxx:373 AliCentralTrigger.cxx:374 AliCentralTrigger.cxx:375 AliCentralTrigger.cxx:376 AliCentralTrigger.cxx:377 AliCentralTrigger.cxx:378 AliCentralTrigger.cxx:379 AliCentralTrigger.cxx:380 AliCentralTrigger.cxx:381 AliCentralTrigger.cxx:382 AliCentralTrigger.cxx:383 AliCentralTrigger.cxx:384 AliCentralTrigger.cxx:385 AliCentralTrigger.cxx:386 AliCentralTrigger.cxx:387 AliCentralTrigger.cxx:388 AliCentralTrigger.cxx:389 AliCentralTrigger.cxx:390 AliCentralTrigger.cxx:391 AliCentralTrigger.cxx:392 AliCentralTrigger.cxx:393 AliCentralTrigger.cxx:394 AliCentralTrigger.cxx:395 AliCentralTrigger.cxx:396 AliCentralTrigger.cxx:397 AliCentralTrigger.cxx:398 AliCentralTrigger.cxx:399 AliCentralTrigger.cxx:400 AliCentralTrigger.cxx:401 AliCentralTrigger.cxx:402 AliCentralTrigger.cxx:403 AliCentralTrigger.cxx:404 AliCentralTrigger.cxx:405 AliCentralTrigger.cxx:406 AliCentralTrigger.cxx:407 AliCentralTrigger.cxx:408 AliCentralTrigger.cxx:409 AliCentralTrigger.cxx:410 AliCentralTrigger.cxx:411 AliCentralTrigger.cxx:412 AliCentralTrigger.cxx:413 AliCentralTrigger.cxx:414 AliCentralTrigger.cxx:415 AliCentralTrigger.cxx:416 AliCentralTrigger.cxx:417 AliCentralTrigger.cxx:418 AliCentralTrigger.cxx:419 AliCentralTrigger.cxx:420 AliCentralTrigger.cxx:421 AliCentralTrigger.cxx:422 AliCentralTrigger.cxx:423 AliCentralTrigger.cxx:424 AliCentralTrigger.cxx:425 AliCentralTrigger.cxx:426 AliCentralTrigger.cxx:427 AliCentralTrigger.cxx:428 AliCentralTrigger.cxx:429 AliCentralTrigger.cxx:430 AliCentralTrigger.cxx:431 AliCentralTrigger.cxx:432 AliCentralTrigger.cxx:433 AliCentralTrigger.cxx:434 AliCentralTrigger.cxx:435 AliCentralTrigger.cxx:436 AliCentralTrigger.cxx:437 AliCentralTrigger.cxx:438 AliCentralTrigger.cxx:439 AliCentralTrigger.cxx:440 AliCentralTrigger.cxx:441 AliCentralTrigger.cxx:442 AliCentralTrigger.cxx:443 AliCentralTrigger.cxx:444 AliCentralTrigger.cxx:445 AliCentralTrigger.cxx:446 AliCentralTrigger.cxx:447 AliCentralTrigger.cxx:448 AliCentralTrigger.cxx:449 AliCentralTrigger.cxx:450 AliCentralTrigger.cxx:451 AliCentralTrigger.cxx:452 AliCentralTrigger.cxx:453 AliCentralTrigger.cxx:454 AliCentralTrigger.cxx:455 AliCentralTrigger.cxx:456 AliCentralTrigger.cxx:457 AliCentralTrigger.cxx:458 AliCentralTrigger.cxx:459 AliCentralTrigger.cxx:460 AliCentralTrigger.cxx:461 AliCentralTrigger.cxx:462 AliCentralTrigger.cxx:463 AliCentralTrigger.cxx:464 AliCentralTrigger.cxx:465 AliCentralTrigger.cxx:466 AliCentralTrigger.cxx:467 AliCentralTrigger.cxx:468 AliCentralTrigger.cxx:469 AliCentralTrigger.cxx:470 AliCentralTrigger.cxx:471 AliCentralTrigger.cxx:472 AliCentralTrigger.cxx:473 AliCentralTrigger.cxx:474 AliCentralTrigger.cxx:475 AliCentralTrigger.cxx:476 AliCentralTrigger.cxx:477 AliCentralTrigger.cxx:478 AliCentralTrigger.cxx:479 AliCentralTrigger.cxx:480 AliCentralTrigger.cxx:481 AliCentralTrigger.cxx:482 AliCentralTrigger.cxx:483 AliCentralTrigger.cxx:484 AliCentralTrigger.cxx:485 AliCentralTrigger.cxx:486 AliCentralTrigger.cxx:487 AliCentralTrigger.cxx:488