1 // Code to analyse dN/deta from the forward analysis
2 // This can plot the results
3 // Also works for MC data
17 * This class creates dN/deta for the FMD from the analysis objects.
18 * The contents of this class should probably go into a task at some point
20 class AliFMDDndeta : public TObject
33 AliFMDDndeta(const AliFMDDndeta& o)
37 fNbinsToCut(o.fNbinsToCut),
42 fPrimEvents(o.fPrimEvents),
44 fPrimdNdeta(o.fPrimdNdeta),
47 for (int i = 0; i < 5; i++) fAnalysisNames[i] = "";
55 AliFMDDndeta& operator=(const AliFMDDndeta& /*o*/)
57 // Assignment operator
61 * Enumeration of analysis types
64 enum Analysis {kHits, kHitsTrVtx, kMult, kMultTrVtx, kMultNSD};
71 void Init(const Char_t* filename);
77 void Init(TList* list);
79 * Generate the multiplicity for analysis type @a what
83 void GenerateMult(Analysis what);
92 void DrawDndeta(Analysis what,
94 Bool_t realdata = kFALSE,
95 TString filename = "none");
97 * Set the number of bins to cut
101 void SetNbinsToCut(Int_t nbins) {fNbinsToCut = nbins;}
107 void SetVtxCut1(Int_t vtxcut) {fVtxCut1 = vtxcut;}
113 void SetVtxCut2(Int_t vtxcut) {fVtxCut2 = vtxcut;}
115 * Whether to draw all
119 void SetDrawAll(Bool_t drawall) {fDrawAll = drawall;}
121 * Create sharing efficiency from file
126 void CreateSharingEfficiency(const Char_t* filename, Bool_t store = kFALSE);
128 * Get the list of multiplicities for a given type of analysis.
134 TList* GetMultList(Analysis what) const {return fMultList[what];}
136 void GenerateHits(Analysis what);
137 void SetNames(Analysis what);
138 const char* GetAnalysisName(Analysis what, UShort_t det,
139 Char_t ring, Int_t vtxbin);
140 const char* GetPrimName(Analysis what, UShort_t det,
141 Char_t ring, Int_t vtxbin);
142 void RebinHistogram(TH1F* hist, Int_t rebin);
143 TList* fList; // A list of input histograms
144 TList* fMultList[5]; // A list of mult histograms
145 Int_t fNbinsToCut; // The number of bins to cut
146 Int_t fVtxCut1; // Vtx low
147 Int_t fVtxCut2; // Vtx high
148 Bool_t fIsInit; // Are we init ?
149 Bool_t fIsGenerated[5]; // Have we generated ?
150 TString fPrimEvents; // Number of prim events
151 TString fEvents; // Number of events
152 TString fPrimdNdeta; // the primary dNdeta from MC
153 TString fAnalysisNames[5]; // Names of analysis
154 // TProfile3D* fDataObject; // New data object
155 Bool_t fDrawAll; //Draw relevant or all
156 //TH3D* fDataObject; // New data object
158 ClassDef(AliFMDDndeta,2);