Improved functionality of AliRsnDaughterDef::MatchesDaughter()
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisManager.h
CommitLineData
5eb970a4 1//
2// Class AliRsnAnalysisManager
3//
4// This is the uppermost level of analysis objects collection.
5// It contains a list of pair managers, which all will process
6// a pool of events passed to this object, and fill their histograms.
7//
8// The utility of this object is to define a unique implementation
9// of the whole processing, which can then be included in the different
10// designs of AnalysisTask provided for SE and ME analysis.
11//
12// The base architecture is still AliRsnVManager, but in this case
13// all the objects in the list will be AliRsnPairManager's.
14//
15// author : M. Vala [martin.vala@cern.ch]
16// revised by : A. Pulvirenti [alberto.pulvirenti@ct.infn.it]
17//
18
4fbb2459 19#ifndef ALIRSNANALYSISMANAGER_H
20#define ALIRSNANALYSISMANAGER_H
5eb970a4 21
32992791 22#include <TObjArray.h>
23
24#include "AliRsnCutSet.h"
2dab9030 25
4fbb2459 26class AliRsnEvent;
2dab9030 27class AliRsnPair;
11ed73f6 28class AliRsnMonitor;
2dab9030 29
2a1c7696 30class AliRsnAnalysisManager : public TNamed {
31public:
32
33 AliRsnAnalysisManager(const char*name = "RSN");
34 AliRsnAnalysisManager(const AliRsnAnalysisManager& copy);
35 AliRsnAnalysisManager& operator=(const AliRsnAnalysisManager& copy);
36 virtual ~AliRsnAnalysisManager() { }
37
38 virtual void Add(AliRsnPair *pair);
11ed73f6 39 virtual void Add(AliRsnMonitor *monitor);
2a1c7696 40 virtual void PrintArray() const;
41 virtual void Print(Option_t *option = "") const;
42
43 void InitAllPairs(TList*list);
44 void ProcessAllPairs();
45 void ProcessAllPairsMC();
11ed73f6 46 void ProcessAllMonitors();
47 void ProcessAllMonitorsMC();
2a1c7696 48 AliRsnCutSet* GetGlobalTrackCuts() {return &fGlobalTrackCuts;}
49
50private:
51
52 TList *fList; // container for output histograms (external object)
53 TObjArray fPairs; // collection of pair objects for the different outputs
11ed73f6 54 TObjArray fMonitors; // collection of pair objects for the different outputs
2a1c7696 55 AliRsnCutSet fGlobalTrackCuts; // a set of cuts which are applied to all tracks for all analysis
56
57 ClassDef(AliRsnAnalysisManager, 1)
5eb970a4 58};
59
60#endif