]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliAnalysisTaskFilter.h
AliXMLParser (Harsh)
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskFilter.h
CommitLineData
6d3a7bbf 1#ifndef ALIANALYSISTASKFILTER_H
2#define ALIANALYSISTASKFILTER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//////////////////////////////////////////////////////////////////////////
10//
11// Base class for filtering friends
12//
13//////////////////////////////////////////////////////////////////////////
14
15#include "AliAnalysisTask.h"
16class AliVEvent;
17class AliESDEvent;
18class AliESDfriend;
19class AliInputEventHandler;
20class AliESDfriendTrack;
21
22class TTree;
23
24class AliAnalysisTaskFilter : public AliAnalysisTask
25{
26 public:
27 AliAnalysisTaskFilter();
28 AliAnalysisTaskFilter(const char* name);
29 AliAnalysisTaskFilter(const AliAnalysisTaskFilter& obj);
30 AliAnalysisTaskFilter& operator=(const AliAnalysisTaskFilter& other);
31 virtual ~AliAnalysisTaskFilter() {;}
32
33 // Implementation of interface methods
34 virtual void ConnectInputData(Option_t *option = "");
35 virtual void CreateOutputObjects();
36 virtual void Exec(Option_t* option);
37 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
38 virtual void Init() {;}
39 virtual void UserCreateOutputObjects() {;}
40 virtual void UserExec(Option_t* /*option*/) {;}
41
42 // To be implemented by user
43 virtual Bool_t UserSelectESDfriendForCurrentEvent(){return kTRUE;}
44
45 // Getters
46 virtual Int_t DebugLevel() {return fDebug; }
47 virtual AliVEvent* InputEvent() {return fInputEvent;}
3e341ccb 48 virtual AliESDfriend* InputFriend() {return fInputESDfriend;}
6d3a7bbf 49 virtual AliESDfriend* ESDfriend() {return fOutputESDfriend; }
03a8000a 50 virtual TTree* OutputTree() {return fTreeEF; }
6d3a7bbf 51 virtual Long64_t Entry() {return fEntry; }
52 virtual const char* CurrentFileName();
53
3e341ccb 54 // To add/skip a friend track
6d3a7bbf 55 void AddFriendTrackAt(AliESDfriendTrack* t, Int_t index);
3e341ccb 56 void SkipFriendTrackAt(Int_t index);
6d3a7bbf 57
58 protected:
59 Int_t fDebug; // Debug flag
60 Int_t fEntry; // Current entry in the chain
61 AliVEvent* fInputEvent; //! VEvent Input
62 AliInputEventHandler* fInputHandler; //! Input Handler
6d3a7bbf 63 AliESDfriend* fOutputESDfriend; //! ESD friend out
03a8000a 64 TTree* fTreeEF; // ESD friend output Tree
3e341ccb 65 AliESDfriend* fInputESDfriend; //! ESD friend input
6d3a7bbf 66
3e341ccb 67 ClassDef(AliAnalysisTaskFilter, 3); // Analysis task for filtering friends
6d3a7bbf 68};
69
70#endif