Merge branch 'master', remote branch 'origin' into TPCdev
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskFilterSteer.h
1 #ifndef ALIANALYSISTASKFILTERSTEER_H
2 #define ALIANALYSISTASKFILTERSTEER_H
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /*$Id$*/
8
9 //*************************************************************************
10 // Class AliAnalysisTaskFilterSteer
11 // Implementing the filtering of the friend in order to reduce them to 1%
12 // 
13 //*************************************************************************
14
15 #include "AliAnalysisTaskFilter.h"
16
17 class AliAnalysisTaskFilterSteer : public AliAnalysisTaskFilter
18 {
19  public:
20
21   AliAnalysisTaskFilterSteer();
22   AliAnalysisTaskFilterSteer(const char *name);
23   virtual ~AliAnalysisTaskFilterSteer();
24
25   // Implementation of interface methods
26   virtual void UserCreateOutputObjects();
27   virtual Bool_t UserSelectESDfriendForCurrentEvent();
28   virtual void Init();
29   virtual void LocalInit() {Init();}
30   virtual void UserExec(Option_t *option);
31   virtual void Terminate(Option_t *option);
32   void SetFraction(Double_t fraction) {fFraction = fraction;}
33   Double_t GetFraction() const {return fFraction;}
34
35  private:
36
37   AliAnalysisTaskFilterSteer(const AliAnalysisTaskFilterSteer &);
38   AliAnalysisTaskFilterSteer& operator=(const AliAnalysisTaskFilterSteer&);
39
40   Double_t      fFraction;    // fraction of events for which to keep the friends
41   //
42   AliESDEvent  *fESDInput;        // ESD input object
43   AliESDfriend *fESDfriendInput;  // ESD input friend object
44   ClassDef(AliAnalysisTaskFilterSteer,1); 
45 };
46
47 #endif
48