class TCanvas;
class TList;
+#include "AliPhysicsSelection.h"
+#include "AliBackgroundSelection.h"
#include "AliPID.h"
class AliESDEvent;
class AliESDtrack;
void SetAnalysisLevel(const char* type) {fProtonAnalysisLevel = type;}
void SetAnalysisMode(AnalysisMode analysismode) {fProtonAnalysisMode = analysismode;}
void SetEtaMode() {fAnalysisEtaMode = kTRUE;}
- void SetTriggerMode(TriggerMode triggermode) {fTriggerMode = triggermode;}
+ void SetTriggerMode(TriggerMode triggermode) {
+ fAnalysisMC = kTRUE; fTriggerMode = triggermode;}
void SetPIDMode(PIDMode pidmode) {fProtonPIDMode = pidmode;}
const char *GetAnalysisLevel() {return fProtonAnalysisLevel.Data();}
Bool_t GetEtaMode() const {return fAnalysisEtaMode;}
TriggerMode GetTriggerMode() const {return fTriggerMode;}
PIDMode GetPIDMode() const {return fProtonPIDMode;}
+ Bool_t GetMCAnalysisMode() {return fAnalysisMC;}
const AliESDVertex *GetVertex(AliESDEvent *esd,
AnalysisMode mode,
Double_t GetVxMax() const {return fVxMax;}
Double_t GetVyMax() const {return fVyMax;}
Double_t GetVzMax() const {return fVzMax;}
+ void SetMinNumOfContributors(Int_t nContributors) {
+ fMinNumOfContributors = nContributors;}
+ Int_t GetMinNumOfContributors() {return fMinNumOfContributors;}
void SetPhaseSpace(Int_t nBinsX, Double_t gXmin, Double_t gXmax,
Int_t nBinsY, Double_t gYmin, Double_t gYmax) {
Double_t GetMaxX() const {return fMaxX;}
Double_t GetMaxY() const {return fMaxY;}
- static Bool_t IsEventTriggered(const AliESDEvent *esd,
- TriggerMode trigger = kMB2);
- Bool_t IsAccepted(AliESDEvent *esd,
- const AliESDVertex *vertex,
- AliESDtrack *track);
+ //Trigger
+ Bool_t IsOnlineTriggerUsed() {return kUseOnlineTrigger;}
+ void UseOnlineTrigger() {kUseOnlineTrigger = kTRUE;}
+ Bool_t IsEventTriggered(const AliESDEvent *esd,
+ TriggerMode trigger = kMB2);
+ void OfflineTriggerInit() {
+ kUseOfflineTrigger = kTRUE;
+ fPhysicsSelection = new AliPhysicsSelection();
+ fPhysicsSelection->AddBackgroundIdentification(new AliBackgroundSelection());
+ fPhysicsSelection->SetAnalyzeMC(fAnalysisMC);
+ }
+ Bool_t IsOfflineTriggerUsed() {return kUseOfflineTrigger;}
+ AliPhysicsSelection *GetPhysicsSelectionObject() {return fPhysicsSelection;}
+
+ Bool_t IsPrimary(AliESDEvent *esd,
+ const AliESDVertex *vertex,
+ AliESDtrack *track);
+ Bool_t IsAccepted(AliESDtrack *track);
Bool_t IsInPhaseSpace(AliESDtrack *track);
Float_t GetSigmaToVertex(AliESDtrack* esdTrack) const;
AliProtonAnalysisBase& operator=(const AliProtonAnalysisBase&); // Not implemented
TString fProtonAnalysisLevel;//"ESD", "AOD" or "MC"
+ Bool_t fAnalysisMC; //kTRUE if MC analysis while reading the ESDs
TriggerMode fTriggerMode; //Trigger mode
+ Bool_t kUseOnlineTrigger; //use the online trigger or not
+ Bool_t kUseOfflineTrigger; //use the offline trigger or not
+ AliPhysicsSelection *fPhysicsSelection; //Trigger selection: offline
AnalysisMode fProtonAnalysisMode; //Analysis mode: TPC-Hybrid-Global
PIDMode fProtonPIDMode; //PID mode: Bayesian-dE/dx ratio-Nsigma areas
Bool_t fAnalysisEtaMode; //run the analysis in eta or y
Double_t fVxMax, fVyMax, fVzMax; //vertex diamond constrain
+ Int_t fMinNumOfContributors;//min number of contributors
Int_t fNBinsX; //number of bins in y or eta
Double_t fMinX, fMaxX; //min & max value of y or eta