]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDMultRegion.cxx
Number of pads along z is corrected
[u/mrichter/AliRoot.git] / FMD / AliFMDMultRegion.cxx
CommitLineData
e802be3e 1/**************************************************************************
2 * Copyright(c) 2004, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/* $Id$ */
17
18//____________________________________________________________________
4347b38f 19//
7684b53c 20// FMD reconstructed multiplicity in a region of a ring. The region
21// is identified by (strip_min,sector_min)x(strip_max,sector_max) or
22// by (eta_max,phi_min),(eta_min,phi_max). It's also possible to
23// get the peudorapidity of the center-of-mass of the region, as well
24// as the mean azimuthal angle.
25//
26// [Note, that minStrip corresponds to maxEta, and maxStrip
27// corresponds to minEta]
28//
29// These objects are usually created by the Poisson reconstruction
30// method.
4347b38f 31//
56b1929b 32#include "AliFMDMultRegion.h" // ALIFMDPARTICLES_H
33#include <TString.h> // ROOT_TString
34#include <Riostream.h> // ROOT_Riostream
4347b38f 35
36//____________________________________________________________________
925e6570 37ClassImp(AliFMDMultRegion)
1a1fdef7 38#if 0
39 ; // This is here to keep Emacs for indenting the next line
40#endif
56b1929b 41
4347b38f 42
43//____________________________________________________________________
56b1929b 44AliFMDMultRegion::AliFMDMultRegion()
4347b38f 45 : fDetector(0),
46 fRing('\0'),
47 fMinSector(0),
48 fMaxSector(0),
49 fMinStrip(0),
50 fMaxStrip(0),
51 fMinEta(0),
52 fMaxEta(0),
53 fMinPhi(0),
56b1929b 54 fMaxPhi(0)
4347b38f 55{}
56
57//____________________________________________________________________
56b1929b 58AliFMDMultRegion::AliFMDMultRegion(UShort_t detector, Char_t ring,
59 UShort_t minSector, UShort_t maxSector,
60 UShort_t minStrip, UShort_t maxStrip,
61 Float_t minEta, Float_t maxEta,
a3537838 62 Float_t meanEta,
56b1929b 63 Float_t minPhi, Float_t maxPhi,
64 Float_t particles, UShort_t method)
65 : AliFMDMult(particles, method),
66 fDetector(detector),
4347b38f 67 fRing(ring),
68 fMinSector(minSector),
69 fMaxSector(maxSector),
70 fMinStrip(minStrip),
71 fMaxStrip(maxStrip),
72 fMinEta(minEta),
73 fMaxEta(maxEta),
a3537838 74 fMeanEta(meanEta),
4347b38f 75 fMinPhi(minPhi),
56b1929b 76 fMaxPhi(maxPhi)
77{}
4347b38f 78
a3537838 79#if 0
7684b53c 80//____________________________________________________________________
81Float_t
82AliFMDMultRegion::Eta() const
83{
84 // Return the center-of-mass eta of the region. This is calculated
85 // as the weighted mean of min and max eta, where the weights are
86 // the length of the arcs of the upper and lower edge of the region:
87 //
88 // (maxPhi - minPhi)
89 // f = -----------------
90 // 360
91 //
92 // w_max = ds*minStrip*2*pi*f
93 //
94 // w_min = ds*maxStrip*2*pi*f
95 //
96 // 1/w^2 = 1/w_max^2 + 1/w_min^2
97 //
98 // 1 1
99 // = ---------------------- + ----------------------
100 // (ds*minStrip*2*pi*f)^2 (ds*maxStrip*2*pi*f)^2
101 //
102 // (ds*maxStrip*2*pi*f)^2 + (ds*minStrip*2*pi*f)^2
103 // = -----------------------------------------------
104 // (ds*maxStrip*2*pi*f)^2 * (ds*minStrip*2*pi*f)^2
105 //
106 //
107 // 4 * pi^2 * ds^2 * f^2 (maxStrip^2 + minStrip^2)
108 // = -------------------------------------------------
109 // 16 * pi^4 * ds^4 * f^4 minStrip^2 * maxStrip^2
110 //
111 // (maxStrip^2 + minStrip^2)
112 // = -------------------------------------------------
113 // 4 * pi^2 * ds^2 * f^2 minStrip^2 * maxStrip^2
114 //
115 // <eta> = (maxEta/w_max^2 + minEta /w_min^2) / (1/w^2)
116 //
117 // w_min^2 * maxEta + w_max^2 * minEta
118 // = ------------------------------------ / (1/w^2)
119 // w_max^2 * w_min^2
120 //
121 // 4*pi^2*ds^2*(maxStrip*maxEta + minStrip*minEta)
122 // = ----------------------------------------------- / (1/w^2)
123 // 16*pi^4*ds^4*f^4*minStrip^2*maxStrip^2
124 //
125 // maxStrip * maxEta + minStrip * minEta
126 // = -------------------------------------
127 // 4*pi^2*ds^2*f^2*minStrip^2*maxStrip^2
128 //
129 // 4*pi^2*ds^2*f^2*minStrip^2*maxStrip^2
130 // * -------------------------------------
131 // maxStrip^2+minStrip^2
132 //
133 // maxStrip * maxEta + minStrip * minEta
134 // = -------------------------------------
135 // maxStrip^2 + minStrip^2
136 // _
137 // |_|
138 //
139 Float_t eta = (fMaxStrip * fMaxEta + fMinStrip * fMinEta)
140 / (fMaxStrip * fMaxStrip + fMinStrip * fMinStrip);
141 return eta;
142}
a3537838 143#endif
7684b53c 144
4347b38f 145//____________________________________________________________________
146void
56b1929b 147AliFMDMultRegion::Print(Option_t* option) const
4347b38f 148{
56b1929b 149 // Print information
150 //
151 // Options:
152 // D: Detector (default)
153 // S: Sector range
154 // T: Strip range
155 // E: Eta range (default)
156 // P: Phi range (default)
157 //
158 TString opt(option);
7684b53c 159 cout << "FMD Multiplicity in a region: " << fParticles << endl;
56b1929b 160 if (opt.Contains("D", TString::kIgnoreCase))
7684b53c 161 cout << " Detector: FMD" << fDetector << fRing
162 << "[" << fMinSector << "-" << fMaxSector
163 << "," << fMinStrip << "-" << fMaxStrip << "]" << endl;
56b1929b 164 if (opt.Contains("E", TString::kIgnoreCase))
165 cout << " Eta range: [" << fMinEta << "," << fMaxEta << endl;
166 if (opt.Contains("P", TString::kIgnoreCase))
167 cout << " Phi range: [" << fMinPhi << "," << fMaxPhi << endl;
168 AliFMDMult::Print(option);
4347b38f 169}
170
171
172//____________________________________________________________________
173//
174// EOF
175//