Line data Source code
1 : #ifndef AliMFTConstants_H
2 : #define AliMFTConstants_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : // $Id$
8 :
9 : /// \ingroup MFTbase
10 : /// \class AliMFTConstants
11 : /// \brief Constants for the Muon Forward Tracker
12 : ///
13 : /// Distance Unit is [cm]
14 : ///
15 : /// \author Antonio Uras <antonio.uras@cern.ch>
16 :
17 : #include <TObject.h>
18 :
19 0 : class AliMFTConstants : public TObject {
20 :
21 : public:
22 : // Geometry
23 : static const Int_t kNDisks = 5; ///< \brief Number of Disk
24 : static const Double_t kSensorLength; ///< \brief CMOS Sensor Length
25 : static const Double_t kSensorHeight; ///< \brief CMOS Sensor Height
26 : static const Double_t kSensorActiveHeight; ///< \brief CMOS Sensor Active height
27 : static const Double_t kSensorActiveWidth; ///< \brief CMOS Sensor Active width
28 : static const Double_t kSensorThickness; ///< \brief CMOS Sensor Thickness
29 : static const Double_t kXPixelPitch; ///< \brief Pixel pitch along X
30 : static const Double_t kYPixelPitch; ///< \brief Pixel pitch along Y
31 : static const Int_t kNPixelX = 1024; ///< \brief Number of Pixel along X
32 : static const Int_t kNPixelY = 512; ///< \brief Number of Pixel along Y
33 : static const Double_t kSensorMargin; ///< \brief Inactive margin around active area
34 :
35 : static const Double_t kSensorInterspace; ///< \brief Interspace between 2 sensors on a ladder
36 : static const Double_t kSensorSideOffset; ///< \brief Offset of sensor compare to ladder edge (close to the beam pipe)
37 : static const Double_t kSensorTopOffset; ///< \brief Offset of sensor compare to ladder top edge
38 : static const Double_t kLadderOffsetToEnd; ///< \brief Offset of sensor compare to ladder connector edge
39 : static const Double_t kFlexThickness; ///< \brief Flex Thickness
40 :
41 :
42 :
43 :
44 : /// Return Disk thickness in X0
45 0 : static Double_t DiskThicknessInX0(Int_t Id) {return (Id >= 0 && Id < kNDisks) ? fgDiskThicknessInX0[Id] : 0.;}
46 :
47 : /// Return Plane Z position
48 48 : static Double_t DefaultPlaneZ(Int_t Id) {return (Id >= 0 && Id < kNDisks*2) ? fgPlaneZPos[Id]+(-(Id%2)*2-1)*0.0025 : 0.;} // Move to the middle of the CMOS sensor in Z direction
49 :
50 :
51 :
52 :
53 :
54 :
55 : static const Int_t fNMaxPlanes = 20;
56 :
57 : static const Int_t fNMaxDigitsPerCluster = 50; ///< max number of digits per cluster
58 : static const Double_t fCutForAvailableDigits; ///<
59 : static const Double_t fCutForAttachingDigits; ///<
60 :
61 : static const Int_t fNMaxMCTracksPerCluster = 10; ///< max number of MC tracks sharing the same MFT cluster
62 : static const Int_t fNMaxMCTracksPerDigit = 3; ///< max number of MC tracks sharing the same MFT digit
63 :
64 : static const Double_t fElossPerElectron;
65 :
66 : // superposition between the active elements tasselling the MFT planes, for having a full acceptance coverage even in case of 10 degrees inclined tracks
67 : static const Double_t fActiveSuperposition; ///<
68 :
69 : static const Double_t fHeightActive; ///< height of the active elements
70 : static const Double_t fHeightReadout; ///< height of the readout elements attached to the active ones
71 :
72 : // minimum border size between the end of the support plane and the sensors: fHeightReadout + 0.3
73 : static const Double_t fSupportExtMargin; ///<
74 :
75 : static const Int_t fNMaxDetElemPerPlane = 1000; ///<
76 :
77 : static const Double_t fRadLengthSi; ///< expressed in cm
78 :
79 : static const Double_t fWidthChip; ///< expressed in cm
80 :
81 : static const Double_t fPrecisionPointOfClosestApproach; ///< precision (along z) for the research of the point of closest approach for a dimuon
82 :
83 : static const Double_t fZEvalKinem; // z coordinate at which the kinematics is evaluated for the ESD and AOD tracks
84 :
85 : static const Double_t fXVertexTolerance; // tolerance on the vertex for the first extrapolation of MUON tracks to I.P.
86 : static const Double_t fYVertexTolerance; // tolerance on the vertex for the first extrapolation of MUON tracks to I.P.
87 :
88 : static const Double_t fPrimaryVertexResX; // expected res. in Pb-Pb for the prim vtx from ITS+MFT combined vertexing (should not be used, depends on contributors)
89 : static const Double_t fPrimaryVertexResY; // expected res. in Pb-Pb for the prim vtx from ITS+MFT combined vertexing (should not be used, depends on contributors)
90 : static const Double_t fPrimaryVertexResZ; // expected res. in Pb-Pb for the prim vtx from ITS+MFT combined vertexing (should not be used, depends on contributors)
91 :
92 : static const Double_t fMisalignmentMagnitude; // Expected misalignment magnitude (for MC, waiting for OCDB)
93 :
94 : static const Int_t fNMaxMuonsForPCA = 10;
95 : static const Int_t fNMaxPileUpEvents = 5; // Max events to consider for pile-up studies
96 : static const Int_t fLabelOffsetMC = 10000000; // Offset to be added to MC labels of tracks from merged underlying and pile-up events
97 : static const Int_t fNMaxLaddersPerPlane = 20;
98 : static const Int_t fNMaxChipsPerLadder = 5;
99 : static const Int_t fNMFTHalves = 2;
100 : static const Double_t fChipWidth;
101 : static const Double_t fMinDistanceLadderFromSupportRMin;
102 : static const Double_t fChipThickness;
103 : static const Double_t fChipInterspace; // Offset between two adjacent chip on a ladder
104 : static const Double_t fChipSideOffset; // Side Offset between the ladder edge and the chip edge
105 : static const Double_t fChipTopOffset; // Top Offset between the ladder edge and the chip edge
106 :
107 :
108 : protected:
109 :
110 : AliMFTConstants() : TObject() {}
111 0 : virtual ~AliMFTConstants(){}
112 : static Double_t fgDiskThicknessInX0[kNDisks]; ///< default disk thickness in X0 for reconstruction
113 : static Double_t fgPlaneZPos[2*kNDisks]; ///< default Plane Z position for reconstruction
114 :
115 : /// \cond CLASSIMP
116 14 : ClassDef(AliMFTConstants, 4);
117 : /// \endcond
118 :
119 : };
120 :
121 : #endif
122 :
|