]>
Commit | Line | Data |
---|---|---|
61899827 | 1 | /* $Id: AliPhysicsSelection.h 35782 2009-10-22 11:54:31Z jgrosseo $ */ |
2 | ||
3 | #ifndef ALIPHYSICSSELECTION_H | |
4 | #define ALIPHYSICSSELECTION_H | |
5 | ||
6 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
7 | * See cxx source for full Copyright notice */ | |
8 | ||
9 | //------------------------------------------------------------------------- | |
10 | // Implementation of Class AliPhysicsSelection | |
11 | // | |
12 | // This class selects collision candidates from data runs, applying selection cuts on triggers | |
13 | // and background rejection based on the content of the ESD | |
14 | // | |
15 | // Origin: Jan Fiete Grosse-Oetringhaus, CERN | |
16 | //------------------------------------------------------------------------- | |
17 | ||
296dd262 | 18 | #include <AliAnalysisCuts.h> |
61899827 | 19 | #include <TList.h> |
20 | ||
21 | class AliESDEvent; | |
17ba346c | 22 | class TH2F; |
61899827 | 23 | class TCollection; |
24 | class AliTriggerAnalysis; | |
25 | ||
296dd262 | 26 | class AliPhysicsSelection : public AliAnalysisCuts |
61899827 | 27 | { |
28 | public: | |
29 | AliPhysicsSelection(); | |
30 | virtual ~AliPhysicsSelection(); | |
31 | ||
296dd262 | 32 | // AliAnalysisCuts interface |
33 | virtual Bool_t IsSelected(TObject* obj) { return IsCollisionCandidate((const AliESDEvent*) obj); } | |
34 | virtual Bool_t IsSelected(TList*) { return kFALSE; } | |
35 | ||
61899827 | 36 | Bool_t IsCollisionCandidate(const AliESDEvent* aEsd); |
37 | Bool_t Initialize(UInt_t runNumber); | |
38 | ||
296dd262 | 39 | void AddBackgroundIdentification(AliAnalysisCuts* background) { fBackgroundIdentification = background; } |
40 | ||
61899827 | 41 | virtual void Print(Option_t* option = "") const; |
42 | virtual Long64_t Merge(TCollection* list); | |
43 | void SaveHistograms(const char* folder = 0) const; | |
44 | ||
296dd262 | 45 | TList* GetCollisionTriggerClasses() { return &fCollTrigClasses; } |
46 | TList* GetBGTriggerClasses() { return &fBGTrigClasses; } | |
15f7c3c9 | 47 | AliTriggerAnalysis* GetTriggerAnalysis() { return (fTriggerAnalysis.GetEntries() > 0) ? (AliTriggerAnalysis*) fTriggerAnalysis.At(0) : 0; } |
61899827 | 48 | |
17ba346c | 49 | const TH2F* GetStatisticsHistogram() const { return fHistStatistics; } |
50 | const TH2F* GetBunchCrossingHistogram() const { return fHistBunchCrossing; } | |
51 | ||
61899827 | 52 | protected: |
296dd262 | 53 | Bool_t CheckTriggerClass(const AliESDEvent* aEsd, const char* trigger) const; |
54 | ||
55 | Int_t fCurrentRun; // run number for which the object is initialized | |
56 | TList fCollTrigClasses; // trigger class identifying collision candidates | |
57 | TList fBGTrigClasses; // trigger classes identifying background events | |
58 | ||
59 | TList fTriggerAnalysis; // list of offline trigger objects (several are needed to keep the control histograms separate per trigger class) | |
61899827 | 60 | |
296dd262 | 61 | AliAnalysisCuts* fBackgroundIdentification; // class that performs additional background identification |
61899827 | 62 | |
17ba346c | 63 | TH2F* fHistStatistics; // how many events are cut away why |
64 | TH2F* fHistBunchCrossing; // histograms of accepted bunch crossing numbers | |
61899827 | 65 | |
66 | ClassDef(AliPhysicsSelection, 1) | |
67 | ||
68 | private: | |
69 | AliPhysicsSelection(const AliPhysicsSelection&); | |
70 | AliPhysicsSelection& operator=(const AliPhysicsSelection&); | |
71 | }; | |
72 | ||
73 | #endif |