+#include "Riostream.h"
#include "TStyle.h"
#include "TChain.h"
#include "TTree.h"
return;
}
- if(dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetMCAnalysisMode()) {
- if(dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->IsEventTriggered(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetTriggerMode())) {
- const AliESDVertex *vertex = dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVertex(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetAnalysisMode(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVxMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVyMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVzMax());
- if(vertex) {
- AliDebug(1,Form("Proton ESD analysis task: There are %d tracks in this event",fESD->GetNumberOfTracks()));
- //Printf("Proton ESD analysis task: There are %d tracks in this event", fESD->GetNumberOfTracks());
- fProtonAnalysis->Analyze(fESD,vertex);
- }//reconstructed vertex
- }//triggered event
- }//MC analysis
- else {
+ if(dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->IsEventTriggered(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetTriggerMode())) {
+ AliDebug(1,Form("Fired trigger class: %s",fESD->GetFiredTriggerClasses().Data()));
const AliESDVertex *vertex = dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVertex(fESD,dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetAnalysisMode(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVxMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVyMax(),dynamic_cast<AliProtonAnalysisBase*>(fProtonAnalysis->GetProtonAnalysisBaseObject())->GetVzMax());
if(vertex) {
AliDebug(1,Form("Proton ESD analysis task: There are %d tracks in this event",fESD->GetNumberOfTracks()));
//Printf("Proton ESD analysis task: There are %d tracks in this event", fESD->GetNumberOfTracks());
fProtonAnalysis->Analyze(fESD,vertex);
}//reconstructed vertex
- }//real data analysis
+ }//triggered event
}//ESD analysis
else if(gAnalysisLevel == "AOD") {
TriggerMode trigger) {
// check if the event was triggered
ULong64_t triggerMask = esd->GetTriggerMask();
-
- // definitions from p-p.cfg
- ULong64_t spdFO = (1 << 14);
- ULong64_t v0left = (1 << 11);
- ULong64_t v0right = (1 << 12);
-
- switch (trigger) {
- case kMB1: {
- if (triggerMask & spdFO || ((triggerMask & v0left) || (triggerMask & v0right)))
- return kTRUE;
- break;
- }
- case kMB2: {
- if (triggerMask & spdFO && ((triggerMask & v0left) || (triggerMask & v0right)))
- return kTRUE;
- break;
+ TString firedTriggerClass = esd->GetFiredTriggerClasses();
+
+ if(fAnalysisMC) {
+ // definitions from p-p.cfg
+ ULong64_t spdFO = (1 << 14);
+ ULong64_t v0left = (1 << 11);
+ ULong64_t v0right = (1 << 12);
+
+ switch (trigger) {
+ case kMB1: {
+ if (triggerMask & spdFO || ((triggerMask & v0left) || (triggerMask & v0right)))
+ return kTRUE;
+ break;
+ }
+ case kMB2: {
+ if (triggerMask & spdFO && ((triggerMask & v0left) || (triggerMask & v0right)))
+ return kTRUE;
+ break;
+ }
+ case kSPDFASTOR: {
+ if (triggerMask & spdFO)
+ return kTRUE;
+ break;
+ }
+ }//switch
}
- case kSPDFASTOR: {
- if (triggerMask & spdFO)
+ else {
+ if(firedTriggerClass.Contains("CINT1B-ABCE-NOPF-ALL"))
return kTRUE;
- break;
}
- }//switch
return kFALSE;
}
Double_t GetMaxX() const {return fMaxX;}
Double_t GetMaxY() const {return fMaxY;}
- static Bool_t IsEventTriggered(const AliESDEvent *esd,
- TriggerMode trigger = kMB2);
+ Bool_t IsEventTriggered(const AliESDEvent *esd,
+ TriggerMode trigger = kMB2);
Bool_t IsAccepted(AliESDEvent *esd,
const AliESDVertex *vertex,
AliESDtrack *track);