Added method for filling TProfile
[u/mrichter/AliRoot.git] / EMCAL / AliCaloConstants.h
CommitLineData
168c7b3c 1// -*- mode: c++ -*-
2#ifndef ALICALOCONSTANTS_H
3#define ALICALOCONSTANTS_H
4
5/**************************************************************************
6 * This file is property of and copyright by *
15cdd9b3 7 * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2010 *
168c7b3c 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
15cdd9b3 23//
24// Constants used by the HLT
25// ALICE Offlinw
26// and by EMCAL standalone debug tools
27//
28//
168c7b3c 29namespace CaloConstants
30{
15cdd9b3 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
168c7b3c 77 namespace FitAlgorithm
78 {
79 enum fitAlgorithm { kLMS = 0, kCrude = 1, kPeakFinder = 2, kNeuralNet = 3, kFastFit= 4,
15cdd9b3 80 kLogFit = 5, kStandard = 6, kNONE = 7}; // possible return values
b14e4925 81 }
168c7b3c 82
83 namespace ReturnCodes
84 {
15cdd9b3 85 enum kReturnCode {kFitPar=1, kDummy=-1, kCrude=-9, kNoFit=-99, kInvalid=-9999}; // possible return values
b14e4925 86 }
168c7b3c 87
88 namespace PeakFinderConstants
89 {
15cdd9b3 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
b14e4925 92 }
93}
168c7b3c 94
168c7b3c 95//For easier notation
15cdd9b3 96namespace ALTRO = CaloConstants::ALTROConstants; // For easier notation
97namespace Algo = CaloConstants::FitAlgorithm; // For easier notation
98namespace Ret = CaloConstants::ReturnCodes; // For easier notation
99namespace PF = CaloConstants::PeakFinderConstants; // For easier notation
100namespace CALO = CaloConstants; // For easier notation
101namespace EMCAL = CaloConstants::EMCALConstants; // For easier notation
102namespace PHOS = CaloConstants::PHOSConstants; // For easier notation
103
168c7b3c 104
105#endif
15cdd9b3 106