silvermy@ornl.gov; coding violations (comments) update
[u/mrichter/AliRoot.git] / PWG0 / highMultiplicity / AliHighMultiplicitySelector.h
1 /* $Id$ */
2
3 #ifndef AliHighMultiplicitySelector_H
4 #define AliHighMultiplicitySelector_H
5
6 #include "AliSelectorRL.h"
7
8 class TH1F;
9 class TH2F;
10 class TH1;
11 class TH2;
12 class TNtuple;
13
14 class AliHighMultiplicitySelector : public AliSelectorRL {
15   public:
16     AliHighMultiplicitySelector();
17     virtual ~AliHighMultiplicitySelector();
18
19     virtual void    Init(TTree *tree);
20     virtual void    SlaveBegin(TTree *tree);
21     virtual Bool_t  Process(Long64_t entry);
22     virtual Bool_t  Notify();
23     virtual void    SlaveTerminate();
24     virtual void    Terminate();
25
26     void WriteHistograms(const char* filename = "highmult.root");
27     void ReadHistograms(const char* filename = "highmult.root");
28     void DrawHistograms();
29     void JPRPlots();
30     void Ntrigger();
31
32  protected:
33     void MakeGraphs(const char* title, TH1* xSection, TH2* fMvsL, Int_t limit);
34     void MakeGraphs2(const char* title, TH1* xSection, TH2* fMvsL);
35
36     TH1* GetXSectionCut(TH1* xSection, TH2* multVsLayer, Int_t cut);
37     TH1* GetTriggerEfficiency(TH2* multVsLayer, Int_t cut);
38
39     TH1F* fChipsLayer1;
40     TH1F* fChipsLayer2;
41
42     TH2F* fL1vsL2;
43     TH2F* fMvsL1;
44     TH2F* fMvsL2;
45
46     TH2F* fChipsFired;
47
48     TNtuple* fPrimaryL1;  // multiplicity vs. number of fired chips vs. number of chips fired by primaries
49     TNtuple* fPrimaryL2;  // multiplicity vs. number of fired chips vs. number of chips fired by primaries
50
51     TH1F*    fClusterZL1;
52     TH1F*    fClusterZL2;
53
54     TH2F* fClvsL1;
55     TH2F* fClvsL2;
56
57     Bool_t centralRegion;
58
59  private:
60     AliHighMultiplicitySelector(const AliHighMultiplicitySelector&);
61     AliHighMultiplicitySelector& operator=(const AliHighMultiplicitySelector&);
62
63   ClassDef(AliHighMultiplicitySelector, 0);
64 };
65
66 #endif