]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis/AliFMDDndeta.h
fixing of warnings and adding a custom NSD trigger
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis / AliFMDDndeta.h
CommitLineData
c5058a61 1#ifndef ALIFMDDNDETA_H
2#define ALIFMDDNDETA_H
3
4#include "TObject.h"
5#include "TList.h"
6#include "TString.h"
2dcdd4eb 7class TH1F;
059c7c6b 8class TH3F;
9class TProfile3D;
10class TProfile2D;
11class TH3D;
2dcdd4eb 12//
13// This class creates dN/deta for the FMD from the analysis objects.
14// The contents of this class should probably go into a task at some point
15//
c5058a61 16
17class AliFMDDndeta : public TObject
18{
19
20 public:
21 AliFMDDndeta();
ae26bdd7 22 AliFMDDndeta(const AliFMDDndeta& o) :
2b23122b 23 TObject(),
24 fList(0),
ae26bdd7 25 fMultList(),
26 fNbinsToCut(o.fNbinsToCut),
2dcdd4eb 27 fVtxCut1(o.fVtxCut1),
28 fVtxCut2(o.fVtxCut2),
ae26bdd7 29 fIsInit(o.fIsInit),
30 fIsGenerated(),
31 fPrimEvents(o.fPrimEvents),
32 fEvents(o.fEvents),
059c7c6b 33 fPrimdNdeta(fPrimdNdeta),
34 fDrawAll(kFALSE)
ae26bdd7 35 {}
36
37 AliFMDDndeta& operator=(const AliFMDDndeta& /*o*/)
38 {
39 // Assignment operator
40
41 return (*this);
42 }
c5058a61 43
059c7c6b 44 enum Analysis {kHits, kHitsTrVtx, kMult, kMultTrVtx, kMultNSD};
c5058a61 45
70d74659 46
47
2dcdd4eb 48 void Init(const Char_t* filename);
49 void Init(TList* list);
c5058a61 50 void GenerateMult(Analysis what);
541c19ed 51 void DrawDndeta(Analysis what, Int_t rebin = 1, Bool_t realdata = kFALSE, TString filename = "none");
c5058a61 52 void SetNbinsToCut(Int_t nbins) {fNbinsToCut = nbins;}
2dcdd4eb 53 void SetVtxCut1(Int_t vtxcut) {fVtxCut1 = vtxcut;}
54 void SetVtxCut2(Int_t vtxcut) {fVtxCut2 = vtxcut;}
059c7c6b 55 void SetDrawAll(Bool_t drawall) {fDrawAll = drawall;}
7e2bf482 56 void CreateSharingEfficiency(const Char_t* filename, Bool_t store = kFALSE);
70d74659 57 TList* GetMultList(Analysis what) {return fMultList[what];}
c5058a61 58 private:
2dcdd4eb 59 void GenerateHits(Analysis what);
c5058a61 60 void SetNames(Analysis what);
61 const char* GetAnalysisName(Analysis what, UShort_t det, Char_t ring, Int_t vtxbin);
62 const char* GetPrimName(Analysis what, UShort_t det, Char_t ring, Int_t vtxbin);
2dcdd4eb 63 void RebinHistogram(TH1F* hist, Int_t rebin);
70d74659 64 TList* fList; // A list of input histograms
059c7c6b 65 TList* fMultList[5]; // A list of mult histograms
70d74659 66 Int_t fNbinsToCut; // The number of bins to cut
67 Int_t fVtxCut1; // Vtx low
68 Int_t fVtxCut2; // Vtx high
69 Bool_t fIsInit; // Are we init ?
059c7c6b 70 Bool_t fIsGenerated[5]; // Have we generated ?
2dcdd4eb 71 TString fPrimEvents; // Number of prim events
72 TString fEvents; // Number of events
73 TString fPrimdNdeta; // the primary dNdeta from MC
059c7c6b 74 Char_t* fAnalysisNames[5]; // Names of analysis
75 // TProfile3D* fDataObject; // New data object
76 Bool_t fDrawAll; //Draw relevant or all
77 //TH3D* fDataObject; // New data object
78
c5058a61 79 ClassDef(AliFMDDndeta,2);
80};
81
82
83#endif
84// Local Variables:
85// mode: C++
86// End Variables;