Added method for filling TProfile
[u/mrichter/AliRoot.git] / EMCAL / AliCaloConstants.h
1 // -*- mode: c++ -*-
2 #ifndef ALICALOCONSTANTS_H
3 #define ALICALOCONSTANTS_H
4
5 /**************************************************************************
6  * This file is property of and copyright by                              *
7  * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2010     *
8  *                                                                        *
9  * Primary Author: Per Thomas Hille  <perthomas.hille@yale.edu>           *
10  *                                                                        *
11  * Contributors are mentioned in the code where appropriate.              *
12  * Please report bugs to   perthomas.hille@yale.edu                       *
13  *                                                                        *
14  * Permission to use, copy, modify and distribute this software and its   *
15  * documentation strictly for non-commercial purposes is hereby granted   *
16  * without fee, provided that the above copyright notice appears in all   *
17  * copies and that both the copyright notice and this permission notice   *
18  * appear in the supporting documentation. The authors make no claims     *
19  * about the suitability of this software for any purpose. It is          *
20  * provided "as is" without express or implied warranty.                  *
21  **************************************************************************/
22
23 //
24 // Constants used by the HLT
25 // ALICE Offlinw
26 // and by EMCAL standalone debug tools
27 //
28 //
29 namespace CaloConstants
30 {
31   const int MAXHOSTS=20; // related to the emcal debug online display
32   
33   namespace ALTROConstants
34   {
35     const int ALTROMAXSAMPLES = 1008;    // The maximum number of samples of the ALTRO
36     const int ALTROMAXPRESAMPLES = 15;   // Maximum number of presamles from the ALTRO chip     
37     const int NALTROS        =   4;      // Number of ALTROs per frontend card
38     const int NALTROCHANNELS =  16;      // Number of readout channels per ALTRO chip
39     const int MINHARDWAREADDRESS = -2;   // Smallest possible HW address ( in offline )
40     const int MAXHARDWAREADDRESS = 4096; // Max harware address,  ( its to high ) 
41     const int MAXBINVALUE = 1023;        // Max possible ALTRO ADC value ( 10 bit )
42     const int NGAINS         =   2;      // Number of gains ( high + low )
43     const int HIGHGAIN    =   1;         // Mnemonic for High Gain
44     const int LOWGAIN     =   0;         // Mnemonic for Low Gain
45     const int HG = HIGHGAIN;             // Abbrevation for HIGHGAIN
46     const int LG = LOWGAIN;              // Abbrevation for LOWGAIN
47  }
48
49   //FEE constants common to PHOS EMCAL
50   const int CSPSPERFEE       =   32;    // Charge Sensitive Preamplifiers (CSPs) per FEE
51   const int NBRANCHES        =    2;    // Branches per RCU   
52   const int MAXHWADDRESSES   = 4096;    // Highest possible harware address
53   
54   namespace EMCALConstants
55   {
56     const int NZROWSMOD      =  48;   // Number of rows per module
57     const int NXCOLUMNSMOD   =  24;   // Number of columns per module 
58     const int NRCUSPERSECTOR = 4;     // Number of RCUs per sector
59     const int NMODULES    =    10;    // Number of modules of the EMCAL detector
60     const int NRCUSPERMODULE =  2 ;   // Number of RCUs per Module
61     const int NFEECS         =  9;    // Number of Frontend cards per branch*/
62     const int NZROWSRCU     =   48;   // Number of Rows per RCU
63     const int NXCOLUMNSRCU  =   16;   // Number of columns per RCU
64   }
65   
66   
67   namespace PHOSConstants
68   {
69     const int NZROWSMOD      =  56;   // Number of rows per module       
70     const int NXCOLUMNSMOD   =  64;   // Number of columns per module
71     const int NMODULES    =     5;    // Number of modules of the PHOS detector
72     const int NRCUSPERMODULE =  4 ;   // Number of RCUs per Module
73     const int NFEECS         =  14;   // Number of Frontend cards per branch
74   }
75
76
77   namespace FitAlgorithm
78   {
79     enum fitAlgorithm { kLMS = 0, kCrude = 1, kPeakFinder = 2, kNeuralNet = 3, kFastFit= 4,
80                         kLogFit = 5, kStandard = 6,  kNONE = 7}; // possible return values
81   }
82
83   namespace ReturnCodes
84   {
85     enum kReturnCode {kFitPar=1, kDummy=-1, kCrude=-9, kNoFit=-99, kInvalid=-9999};  // possible return values
86   }
87
88   namespace PeakFinderConstants
89   {
90     const int  MAXSTART = 3;      //  Start max 3 samples into the digitized array
91     const int  SAMPLERANGE = 15;  //  Use maximum 15 samples for the Peak-Finder
92   }
93 }
94
95 //For easier notation
96 namespace ALTRO =   CaloConstants::ALTROConstants;       // For easier notation
97 namespace Algo  =   CaloConstants::FitAlgorithm;         // For easier notation 
98 namespace Ret   =   CaloConstants::ReturnCodes;          // For easier notation
99 namespace PF    =   CaloConstants::PeakFinderConstants;  // For easier notation
100 namespace CALO  =   CaloConstants;                       // For easier notation
101 namespace EMCAL =   CaloConstants::EMCALConstants;       // For easier notation
102 namespace PHOS  =   CaloConstants::PHOSConstants;        // For easier notation
103
104
105 #endif
106