]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/highMultiplicity/AliHighMultiplicitySelector.h
Technical fix: AliFatal changed to AliError+return to prevent stopping the analysis...
[u/mrichter/AliRoot.git] / PWG0 / highMultiplicity / AliHighMultiplicitySelector.h
CommitLineData
9608df41 1/* $Id$ */
2
3#ifndef AliHighMultiplicitySelector_H
4#define AliHighMultiplicitySelector_H
5
6#include "AliSelectorRL.h"
7
8class TH1F;
9class TH2F;
10class TH1;
11class TH2;
12class TNtuple;
a9aed06c 13class TGraph;
14
15//
16// Selector that produces plots needed for the high multiplicity analysis with the
17// pixel detector
18//
9608df41 19
20class AliHighMultiplicitySelector : public AliSelectorRL {
21 public:
22 AliHighMultiplicitySelector();
23 virtual ~AliHighMultiplicitySelector();
24
25 virtual void Init(TTree *tree);
26 virtual void SlaveBegin(TTree *tree);
27 virtual Bool_t Process(Long64_t entry);
28 virtual Bool_t Notify();
29 virtual void SlaveTerminate();
30 virtual void Terminate();
31
32 void WriteHistograms(const char* filename = "highmult.root");
33 void ReadHistograms(const char* filename = "highmult.root");
34 void DrawHistograms();
35 void JPRPlots();
d1594f8a 36 void Ntrigger(Bool_t relative = kTRUE);
a9aed06c 37 TGraph* IntFractRate();
d1594f8a 38 void Contamination();
144ff489 39 void Contamination2();
69b09e3b 40 void Contamination3();
b3b260d1 41 void Contamination_Reach();
d1594f8a 42 void MBComparison();
9608df41 43
44 protected:
45 void MakeGraphs(const char* title, TH1* xSection, TH2* fMvsL, Int_t limit);
f6093269 46 void MakeGraphs2(const char* title, TH1* xSection, TH2* fMvsL);
47
9608df41 48 TH1* GetXSectionCut(TH1* xSection, TH2* multVsLayer, Int_t cut);
b3b260d1 49 TH1* GetTriggerEfficiency(TH2* multVsLayer, Int_t cut, Int_t upperCut = 1001);
9608df41 50
a9aed06c 51 TH1F* fChipsLayer1; // fired chips in layer 1
52 TH1F* fChipsLayer2; // fired chips in layer 2
9608df41 53
a9aed06c 54 TH2F* fL1vsL2; // layer1 hits vs. layer2 hits
55 TH2F* fMvsL1; // mult. vs. hits in layer 1
56 TH2F* fMvsL2; // mult. vs. hits in layer 2
9608df41 57
a9aed06c 58 TH2F* fChipsFired; // chips fired, module number vs. chip number
9608df41 59
60 TNtuple* fPrimaryL1; // multiplicity vs. number of fired chips vs. number of chips fired by primaries
61 TNtuple* fPrimaryL2; // multiplicity vs. number of fired chips vs. number of chips fired by primaries
62
a9aed06c 63 TH1F* fClusterZL1; // number of clusters as funtion of z in layer 1
64 TH1F* fClusterZL2; // number of clusters as funtion of z in layer 2
9608df41 65
a9aed06c 66 TH2F* fClvsL1; // number of cluster vs. number of fired chips in layer 1
67 TH2F* fClvsL2; // number of cluster vs. number of fired chips in layer 2
9608df41 68
a9aed06c 69 Bool_t fCentralRegion; // only consider the central region (two central modules)
9608df41 70
71 private:
72 AliHighMultiplicitySelector(const AliHighMultiplicitySelector&);
73 AliHighMultiplicitySelector& operator=(const AliHighMultiplicitySelector&);
74
75 ClassDef(AliHighMultiplicitySelector, 0);
76};
77
78#endif