From f0ee78b08b3e903b93ef70ea73ceaa6104552ec4 Mon Sep 17 00:00:00 2001 From: morsch Date: Mon, 14 Dec 2009 12:04:09 +0000 Subject: [PATCH] Possibility to analyse selected events only. Selection is performed using a static AliAnalysisCuts object. --- ANALYSIS/AliAnalysisTaskSE.h | 29 +++++++++++++++++++---------- STEER/AliESDInputHandler.cxx | 2 ++ STEER/AliInputEventHandler.cxx | 11 +++++++++-- STEER/AliInputEventHandler.h | 7 +++++-- 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/ANALYSIS/AliAnalysisTaskSE.h b/ANALYSIS/AliAnalysisTaskSE.h index c12c47d73e2..c65d9dd747f 100644 --- a/ANALYSIS/AliAnalysisTaskSE.h +++ b/ANALYSIS/AliAnalysisTaskSE.h @@ -14,6 +14,7 @@ class AliAODTracklets; class AliAODCaloCells; class AliMCEvent; class AliInputEventHandler; +class AliAnalysisCuts; class TTree; class TList; @@ -28,20 +29,24 @@ class AliAnalysisTaskSE : public AliAnalysisTask AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other); virtual ~AliAnalysisTaskSE() {;} // Implementation of interface methods - virtual void ConnectInputData(Option_t *option = ""); - virtual void CreateOutputObjects(); - virtual void Exec(Option_t* option); - virtual void SetDebugLevel(Int_t level) {fDebug = level;} - virtual void Init() {;} + virtual void ConnectInputData(Option_t *option = ""); + virtual void CreateOutputObjects(); + virtual void Exec(Option_t* option); + virtual void SetDebugLevel(Int_t level) {fDebug = level;} + virtual void Init() {;} virtual Bool_t Notify(); // To be implemented by user - virtual void UserCreateOutputObjects() {;} - virtual void UserExec(Option_t* /*option*/) {;} + virtual void UserCreateOutputObjects() {;} + virtual void UserExec(Option_t* /*option*/) {;} virtual Bool_t UserNotify() {return kTRUE;} virtual void NotifyRun() {;} - + // Helpers for adding branches to the AOD - virtual void AddAODBranch(const char* cname, void* addobj, const char *fname=""); + virtual void AddAODBranch(const char* cname, void* addobj, const char *fname=""); + // Event Selection + virtual void SelectCollisionCandidates() {fSelectCollisions = kTRUE;} + + // Getters virtual Int_t DebugLevel() {return fDebug; } virtual AliVEvent* InputEvent() {return fInputEvent;} @@ -77,7 +82,11 @@ class AliAnalysisTaskSE : public AliAnalysisTask static AliAODTracklets* fgAODTracklets; //! Tracklets for replication static AliAODCaloCells* fgAODEmcalCells; //! Emcal Cell replication static AliAODCaloCells* fgAODPhosCells; //! Phos Cell replication - + // Event selection + static AliAnalysisCuts* fgCollisionSelector; //! Cuts to select collision events + static Bool_t fgIsCollision; //! Collision flag + Bool_t fSelectCollisions; // Task processes collision candidates only + ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis }; diff --git a/STEER/AliESDInputHandler.cxx b/STEER/AliESDInputHandler.cxx index d2c1d78980d..753e6f09619 100644 --- a/STEER/AliESDInputHandler.cxx +++ b/STEER/AliESDInputHandler.cxx @@ -109,6 +109,8 @@ Bool_t AliESDInputHandler::BeginEvent(Long64_t entry) fHLTTree->GetEntry(entry); } + fNewEvent = kTRUE; + return kTRUE; } diff --git a/STEER/AliInputEventHandler.cxx b/STEER/AliInputEventHandler.cxx index 9594a419676..3cd61adc9d7 100644 --- a/STEER/AliInputEventHandler.cxx +++ b/STEER/AliInputEventHandler.cxx @@ -32,7 +32,8 @@ AliInputEventHandler::AliInputEventHandler() : AliVEventHandler(), fTree(0), fBranches(""), - fBranchesOn("") + fBranchesOn(""), + fNewEvent(kTRUE) { // default constructor } @@ -48,7 +49,8 @@ AliInputEventHandler::AliInputEventHandler(const char* name, const char* title): AliVEventHandler(name, title), fTree(0), fBranches(""), - fBranchesOn("") + fBranchesOn(""), + fNewEvent(kTRUE) { } @@ -80,3 +82,8 @@ void AliInputEventHandler::SwitchOnBranches() const { AliInfo(Form("Branch %s switched on \n", str.Data())); } } + + + +Long64_t AliInputEventHandler::GetReadEntry() const +{return fTree->GetReadEntry();} diff --git a/STEER/AliInputEventHandler.h b/STEER/AliInputEventHandler.h index d05e15334db..e551f5721de 100644 --- a/STEER/AliInputEventHandler.h +++ b/STEER/AliInputEventHandler.h @@ -28,7 +28,7 @@ class AliInputEventHandler : public AliVEventHandler { virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;} virtual Bool_t Init(TTree* /*tree*/, Option_t* /*opt*/) {return kTRUE;} virtual Bool_t BeginEvent(Long64_t /*entry*/) {return kTRUE;} - virtual Bool_t Notify() { return AliVEventHandler::Notify(); }; + virtual Bool_t Notify() { return AliVEventHandler::Notify();} virtual Bool_t Notify(const char */*path*/) {return kTRUE;} virtual Bool_t FinishEvent() {return kTRUE;} virtual Bool_t Terminate() {return kTRUE;} @@ -43,7 +43,9 @@ class AliInputEventHandler : public AliVEventHandler { virtual AliRunTag *GetRunTag() const {return 0;} virtual Option_t *GetAnalysisType() const {return 0;} virtual TTree *GetTree( ) const {return fTree;} - virtual Long64_t GetReadEntry() const {return fTree->GetReadEntry();} + virtual Long64_t GetReadEntry() const; + virtual Bool_t NewEvent() + {Bool_t ne = fNewEvent; fNewEvent = kFALSE; return ne;} protected: void SwitchOffBranches() const; void SwitchOnBranches() const; @@ -54,6 +56,7 @@ class AliInputEventHandler : public AliVEventHandler { TTree *fTree; //! Pointer to the tree TString fBranches; // List of branches to be switched off (separated by space) TString fBranchesOn; // List of branches to be switched on (separated by space) + Bool_t fNewEvent; // New event flag ClassDef(AliInputEventHandler, 2); }; -- 2.43.0