1 /**************************************************************************
2 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
3 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
4 * full copyright notice. *
5 **************************************************************************/
7 ////////////////////////////////////////////////////////////////////////////
9 // AliEveEventSelector class
10 // selects events according to given criteria
12 // origin: Mikolaj Krzewicki, Nikhef, Mikolaj.Krzewicki@cern.ch
14 ////////////////////////////////////////////////////////////////////////////
16 #ifndef AliEveEventSelector_H
17 #define AliEveEventSelector_H
19 #include "AliEveEventManager.h"
27 class AliEveEventManager;
31 class AliEveEventSelector : public TObject
34 AliEveEventSelector(AliEveEventManager* evman);
35 void SetEventManager(AliEveEventManager* evman) { fPEventManager = evman; }
36 AliEveEventManager* GetEventManager() { return fPEventManager; }
37 TTree* GetESDTree() const { return fPEventManager->GetESDTree(); }
39 Bool_t FindNext(Int_t& i);
40 Bool_t FindPrev(Int_t& i);
42 void SetSelectionString( const TString& str );
43 void SetSelectionString( const char* str );
44 TString GetSelectionString() {return fString;}
45 Bool_t GetSelectOnString() {return fSelectOnString;}
46 void SetSelectOnString( const Bool_t b = kTRUE ) {fSelectOnString = b;}
47 void SetWrapAround( const Bool_t b = kTRUE ) {fWrapAround = b;}
48 Bool_t GetWrapAround() const { return fWrapAround; }
51 void SetSelectOnTriggerType( const Bool_t b = kTRUE ) {fSelectOnTriggerType = b;}
52 void SetTriggerType( const TString& type );
53 void SetTriggerType( const char* type );
54 TString GetTriggerType() const {return fTriggerType;}
55 Bool_t GetSelectOnTriggerType() {return fSelectOnTriggerType;}
57 void SetSelectOnTriggerString( const Bool_t b=kTRUE ) { fSelectOnTriggerString = b; }
58 void SetTriggerSelectionString( const TString m );
59 TString GetTriggerSelectionString() const { return fTriggerSelectionString; }
60 Bool_t GetSelectOnTriggerString() const { return fSelectOnTriggerString; }
61 void SetTriggerMaskPatternString( TString str) { fTriggerMaskPatternString = str; }
62 TString GetTriggerMaskPatternString() const { return fTriggerMaskPatternString; }
64 void SetSelectOnMultiplicity( const Bool_t b = kTRUE) { fSelectOnMultiplicity = b; }
65 Bool_t GetSelectOnMultiplicity() { return fSelectOnMultiplicity; }
66 void SetMultiplicityLow( const Int_t low ) { fMultiplicityLow = low; }
67 void SetMultiplicityHigh( const Int_t high ) { fMultiplicityHigh = high; }
68 Int_t GetMultiplicityLow() { return fMultiplicityLow; }
69 Int_t GetMultiplicityHigh() { return fMultiplicityHigh; }
72 void UpdateEntryList();
73 Bool_t CheckOtherSelection(AliESDEvent* ESD);
76 AliEveEventSelector(const AliEveEventSelector&);
77 AliEveEventSelector& operator=(const AliEveEventSelector&);
79 AliEveEventManager *fPEventManager; //event manager
80 Bool_t fWrapAround; //go back to the first event after the last?
82 Bool_t fSelectOnString; //whether to select on string expression
83 TString fString; //expression to select on
84 TEntryList* fPEntryList; //list of enry numbers after selection
85 Int_t fEntryListId; //current entry no. in entry list
86 Int_t fLastTreeSize; //stores the last treesize
88 Bool_t fSelectOnTriggerType; //whether to select on trigger type
89 TString fTriggerType; //trigger type
91 Bool_t fSelectOnTriggerString; //whether to select on trigger type with a formula
92 TString fTriggerSelectionString; //trigger selection formula
93 TString fTriggerMaskPatternString; //trigger mask placeholder for evaluation
95 Bool_t fSelectOnMultiplicity; //whether to select on multiplicity
96 Int_t fMultiplicityLow; //lower bound on multiplicity
97 Int_t fMultiplicityHigh; //higher bound on multiplicity
100 ClassDef(AliEveEventSelector, 2);