Add method as parameter output
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliFMDMultCuts.h
CommitLineData
bfcbb65a 1#ifndef ALIFMDMULTCUTS_H
2#define ALIFMDMULTCUTS_H
3#include <TObject.h>
4
290052e7 5/**
6 * Cuts used when calculating the multiplicity
7 *
8 */
bfcbb65a 9class AliFMDMultCuts : public TObject
10{
11public:
c514a160 12 enum {
13 kFixed,
14 kMPVFraction,
15 kFitRange,
16 kLandauWidth
17 };
290052e7 18 /**
19 * CTOR
20 */
bfcbb65a 21 AliFMDMultCuts();
290052e7 22 /**
23 * Copy CTOR
24 *
25 * @param o Oject to copy from
26 */
bfcbb65a 27 AliFMDMultCuts(const AliFMDMultCuts& o);
290052e7 28 /**
29 * Assignment operator
30 *
31 * @param o Object to asing from
32 *
33 * @return Reference to this object
34 */
bfcbb65a 35 AliFMDMultCuts& operator=(const AliFMDMultCuts& o);
290052e7 36 /**
37 * Get the multiplicity cuts for a specific ring and pseudo-rapidity
38 *
39 * @param d Detector
40 * @param r Ring
41 * @param eta pseudo-rapidity
42 * @param errors Get error on cut
43 *
44 * @return Cut value
45 */
bfcbb65a 46 Double_t GetMultCut(UShort_t d, Char_t r, Double_t eta, Bool_t errors) const;
290052e7 47 /**
48 * Get the multiplicity cuts for a specific ring and pseudo-rapidity
49 *
50 * @param d Detector
51 * @param r Ring
52 * @param etabin pseudo-rapidity bin
53 * @param errors Get error on cut
54 *
55 * @return Cut value
56 */
bfcbb65a 57 Double_t GetMultCut(UShort_t d, Char_t r, Int_t etabin, Bool_t errors) const;
290052e7 58 /**
59 * Clear the cuts
60 *
61 */
bfcbb65a 62 void UnsetMultCuts() { SetMultCuts(-1); }
290052e7 63 /**
64 * Set the cuts
65 *
66 * @param fmd1i Value for FMD1i
67 * @param fmd2i Value for FMD2i
68 * @param fmd2o Value for FMD2o
69 * @param fmd3i Value for FMD3i
70 * @param fmd3o Value for FMD3o
71 */
bfcbb65a 72 void SetMultCuts(Double_t fmd1i,
73 Double_t fmd2i=-1,
74 Double_t fmd2o=-1,
75 Double_t fmd3i=-1,
76 Double_t fmd3o=-1);
290052e7 77 /**
78 * Set the faction of most probable value
79 *
80 * @param frac Fraction
81 */
bfcbb65a 82 void SetMPVFraction(Double_t frac=0) { fMPVFraction = frac; }
290052e7 83 /**
84 * Set the number times the Landau width
85 *
86 * @param nXi Number of widths
87 */
bfcbb65a 88 void SetNXi(Double_t nXi) { fNXi = nXi; }
290052e7 89 /**
90 * Set wether to includle the Gaussian sigma in cut calculation
91 *
92 * @param in If true, use Gaussian variance
93 */
bfcbb65a 94 void SetIncludeSigma(Bool_t in) { fIncludeSigma = in; }
290052e7 95 /**
96 * Print information
97 *
98 * @param option Not used
99 */
bfcbb65a 100 void Print(Option_t* option="") const;
290052e7 101 /**
102 * Define outputs
103 *
104 * @param l List to add to
105 * @param name Name
106 */
bfcbb65a 107 void Output(TList* l, const char* name=0) const;
241cca4d 108 /**
109 * Read in cuts stored in file
110 *
111 * @param l List to read from
112 * @param name Name of possible sub-list
113 *
114 * @return true on success
115 */
116 Bool_t Input(TList* l, const char* name);
290052e7 117 /**
118 * Get a fixed cut value
119 *
120 * @param d Detector
121 * @param r Ring
122 *
123 * @return Fixed cut value
124 */
bfcbb65a 125 Double_t GetFixedCut(UShort_t d, Char_t r) const;
c514a160 126 /**
127 * Return methid Id
128 *
129 * @return method number
130 */
131 UShort_t GetMehod() const;
132 /**
133 * Get a string descriping the method used
134 *
135 * @return String
136 */
137 const char* GetMehodString() const;
bfcbb65a 138protected:
290052e7 139 Double_t fMultCuts[5]; // Fixed cuts
140 Double_t fMPVFraction; // Most probably value fraction
141 Double_t fNXi; // Times of Landau width
142 Bool_t fIncludeSigma; // Include Gaussian variance
143
c514a160 144 ClassDef(AliFMDMultCuts,2); // Cuts on ESD Mult
bfcbb65a 145};
146
147#endif
148// Local Variables:
149// mode: C++
150// End: