]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONConstants.h
remoe duplicate QA initialisation and do ESD QA for same detectors as RecPoint QA
[u/mrichter/AliRoot.git] / MUON / AliMUONConstants.h
index 0c9090bb6e8c17921b7a0490e4b27f58c0e8012b..9b9ede42c143f4104c4f0e5d3f5e761eee5bbc4d 100644 (file)
 class AliMUONConstants : public TObject {
  public:
     /// Return number of chambers
-    static Int_t    NCh() {return fgNCh;}
+  static Int_t    NCh();
     /// Return number of tracking chambers
-    static Int_t    NTrackingCh() {return fgNTrackingCh;}
+  static Int_t    NTrackingCh();
+    /// Return number of tracking stations
+    static Int_t    NTrackingSt() {return fgNTrackingSt;}
     /// Return number of trigger chambers
-    static Int_t    NTriggerCh() {return fgNTriggerCh;}
+    static Int_t    NTriggerCh() {return NCh()-NTrackingCh();}
     /// Return number of trigger circuits
     static Int_t    NTriggerCircuit() {return fgNTriggerCircuit;}
     /// Return number of detection element
@@ -49,7 +51,7 @@ class AliMUONConstants : public TObject {
     /// Return half-distance between two slats
     static Float_t  DzSlat()                 {return fgDzSlat;}
     /// Return chamber number according z position of hit.
-    static  Int_t ChamberNumber(Float_t z); 
+    static  Int_t ChamberNumber(Float_t z, bool warn = false); 
     /// Return SqrtKx3 for Slat
     static Float_t SqrtKx3()                 {return fgSqrtKx3;}
     /// Return SqrtKy3 for Slat
@@ -66,7 +68,42 @@ class AliMUONConstants : public TObject {
     static Float_t Pitch()    {return fgPitch;}
     /// Return wire pitch for Station 1 & 2
     static Float_t PitchSt1() {return fgPitchSt1;}
+    /// Return coil z-position
+    static Double_t CoilZ() {return fgCoilZ;}
+    /// Return coil lenght
+    static Double_t CoilL() {return fgCoilL;}
+    /// Return yoke z-position
+    static Double_t YokeZ() {return fgYokeZ;}
+    /// Return yoke lenght
+    static Double_t YokeL() {return fgYokeL;}
+    /// Return z-position of absorber begining
+    static const Double_t AbsZBeg() {return fgkAbsZBeg;}
+    /// Return z-position of absorber end
+    static const Double_t AbsZEnd() {return fgkAbsZEnd;}
+    /// Return chamber thickness in X0
+    static Double_t ChamberThicknessInX0() {return fgChamberThicknessInX0;}
+    /// Return Trigger ToF Limit (75 ns)
+    static Float_t TriggerTofLimit() {return fgkTriggerTofLimit;}
+    /// Return default chamber resolution in non bending direction
+    static const Double_t DefaultNonBendingReso() {return fgkDefaultNonBendingReso;}
+    /// Return default chamber resolution**2 in non bending direction
+    static const Double_t DefaultNonBendingReso2() {return fgkDefaultNonBendingReso*fgkDefaultNonBendingReso;}
+    /// Return default chamber resolution in bending direction
+    static const Double_t DefaultBendingReso() {return fgkDefaultBendingReso;}
+    /// Return default chamber resolution**2 in bending direction
+    static const Double_t DefaultBendingReso2() {return fgkDefaultBendingReso*fgkDefaultBendingReso;}
+    /// Return default trigger chamber resolution in non bending direction
+    static const Double_t TriggerNonBendingReso() {return fgkTriggerNonBendingReso;}
+    /// Return default trigger chamber resolution in bending direction
+    static const Double_t TriggerBendingReso() {return fgkTriggerBendingReso;}
+    /// Return z-position of muon filter begining
+    static const Double_t MuonFilterZBeg() {return fgkMuonFilterZBeg;}
+    /// Return z-position of muon filter end
+    static const Double_t MuonFilterZEnd() {return fgkMuonFilterZEnd;}
+    /// Return radiation length (in cm) of muon filter
+    static const Double_t MuonFilterX0() {return fgkMuonFilterX0;}
 
+    
  protected:
     /// Default constructor
     AliMUONConstants() : TObject() {}
@@ -74,18 +111,18 @@ class AliMUONConstants : public TObject {
     virtual ~AliMUONConstants(){}
 
  private:
-    static Int_t  fgNCh;                ///<  Number of Chambers    
-    static Int_t  fgNTrackingCh;        ///<  Number of Tracking Chambers
-    static Int_t  fgNTriggerCh;         ///<  Number of Trigger Chambers
+    static Int_t  fgNTrackingSt;        ///<  Number of Tracking Stations
     static Int_t  fgNTriggerCircuit;    ///<  Number of Trigger Circuits
     static Int_t  fgNDetElem;           ///<  Number of Detection Elements.
     static Int_t  fgNGeomModules;       ///<  Number of Geometry modules   
 
-    static Float_t  fgDefaultChamberZ[14];    //!< Z-positions of chambers
-    static Float_t  fgDefaultRatioTriggerChamber[4]; ///< Ratio between trigger chambers
-    static Float_t  fgSt345inclination;       //!< Inclination with respect the vertical axis of stations 345
-    static Float_t  fgDmin[7];                //!< Inner diameter
-    static Float_t  fgDmax[7];                //!< Outer diameter
+    static Float_t  fgDefaultChamberZ[14];             //!< Z-positions of chambers
+    static Float_t  fgDefaultChamberMinZ[14];          //!< Minimum z-positions of chambers
+    static Float_t  fgDefaultChamberMaxZ[14];          //!< Maximum z-positions of chambers
+    static Float_t  fgDefaultRatioTriggerChamber[4];   ///< Ratio between trigger chambers
+    static Float_t  fgSt345inclination;                        //!< Inclination with respect the vertical axis of stations 345
+    static Float_t  fgDmin[7];                         //!< Inner diameter
+    static Float_t  fgDmax[7];                         //!< Outer diameter
 
     static Float_t  fgDzCh;             ///< Half-distance between two half-chambers 
     static Float_t  fgDzSlat;           ///< Half-distance between two slat on the same chamber
@@ -100,17 +137,31 @@ class AliMUONConstants : public TObject {
     static Float_t  fgPitch;             ///< Wire pitch for St2 & Slats
     static Float_t  fgPitchSt1;          ///< Wire pitch for Station 1
 
-    static Int_t    fgMaxZoom;           ///< Maximum Zoom for event display
+    static Double_t  fgChamberThicknessInX0; ///< default chamber thickness in X0 for reconstruction
+    
+    static Double_t fgCoilZ; ///< Coil z-position
+    static Double_t fgCoilL; ///< Coil lenght
+    static Double_t fgYokeZ; ///< Yoke z-position
+    static Double_t fgYokeL; ///< Yoke lenght
+
+    static const Double_t fgkAbsZBeg; ///< z-position of the begining of the absorber
+    static const Double_t fgkAbsZEnd; ///< z-position of the end of the absorber
+    
+    static Int_t    fgMaxZoom;          ///< Maximum Zoom for event display
+    static Float_t  fgkTriggerTofLimit; ///< Particle above this threshold are discarded in trigger algorithm
+    
+    static const Double_t fgkDefaultNonBendingReso; ///< default chamber resolution in the non-bending direction
+    static const Double_t fgkDefaultBendingReso; ///< default chamber resolution in the bending direction
+
+    static const Double_t fgkTriggerNonBendingReso; ///< default trigger chamber resolution in the non-bending direction
+    static const Double_t fgkTriggerBendingReso; ///< default trigger chamber resolution in the bending direction
+    
+    static const Double_t fgkMuonFilterZBeg; ///< z-position of the begining of the muon filter
+    static const Double_t fgkMuonFilterZEnd; ///< z-position of the end of the muon filter
+    static const Double_t fgkMuonFilterX0; ///< x0 of the muon filter
     
     ClassDef(AliMUONConstants, 0) // MUON global constants 
 };
        
 #endif
 
-
-
-
-
-
-
-