00001 #ifndef ROOT_TEcnaParEcal 00002 #define ROOT_TEcnaParEcal 00003 00004 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h" 00005 00006 #include <Riostream.h> 00007 #include "TNamed.h" 00008 00023 00024 class TEcnaParEcal : public TNamed { 00025 00026 protected: 00027 00028 void Init(); 00029 00030 private: 00031 00032 Int_t fgMaxCar; // Max nb of caracters for char* or TString 00033 TString fTTBELL; 00034 00035 Int_t fCnew; // flags for dynamical allocation 00036 Int_t fCdelete; 00037 00038 //....... Current subdetector flag and codes 00039 00040 TString fFlagSubDet; 00041 TString fCodeEB; 00042 TString fCodeEE; 00043 00044 //....... ECAL parameters 00045 00046 //.......................... EB 00047 00048 Int_t fMaxSampADCEB; // Maximum number of samples ADC 00049 00050 // Int_t fMaxEvtsInBurstPedRunEB; // Maximum number of events per burst in Pedestal Runs 00051 00052 Int_t fMaxSMEtaInEB; // Maximum number of SMs in eta in EB 00053 Int_t fMaxSMPhiInEB; // Maximum number of SMs in phi in EB 00054 00055 Int_t fMaxSMInEBPlus; // Maximum number of SMs in EB+ 00056 Int_t fMaxSMInEBMinus; // Maximum number of SMs in EB- 00057 Int_t fMaxSMInEB; // Maximum number of SMs in EB 00058 00059 Int_t fMaxTowEtaInEB; // Maximum number of towers in eta in EB 00060 Int_t fMaxTowPhiInEB; // Maximum number of towers in phi in EB 00061 Int_t fMaxTowInEB; // Maximum number of towers in EB 00062 00063 Int_t fMaxTowEtaInSM; // Maximum number of towers in eta in SM 00064 Int_t fMaxTowPhiInSM; // Maximum number of towers in phi in SM 00065 Int_t fMaxTowInSM; // Maximum number of towers in SM 00066 // ( = fMaxTowEtaInSM*fMaxTowPhiInSM ) 00067 00068 Int_t fMaxCrysEtaInTow; // Maximum number of crystals in eta in a tower 00069 Int_t fMaxCrysPhiInTow; // Maximum number of crystals in phi in a tower 00070 Int_t fMaxCrysInTow; // Maximum number of crystals in a tower 00071 // ( = fMaxCrysEtaInTow*fMaxCrysPhiInTow ) 00072 00073 Int_t fMaxCrysEtaInSM; // Maximum number of crystals in eta in SM 00074 // ( = fMaxTowEtaInSM*fMaxCrysEtaInTow ) 00075 00076 Int_t fMaxCrysPhiInSM; // Maximum number of crystals in phi in SM 00077 // ( = fMaxTowPhiInSM*fMaxCrysPhiInTow ) 00078 00079 Int_t fMaxCrysInSM; // Maximum number of crystals in SM 00080 // ( = fMaxTowInSM*fMaxCrysInTow ) 00081 00082 //.......................... EE 00083 00084 Int_t fMaxSampADCEE; // Maximum number of samples ADC 00085 00086 // Int_t fMaxEvtsInBurstPedRunEE; // Maximum number of events per burst in Pedestal Runs 00087 00088 Int_t fMaxDeeIXInEE; // Maximum number of Dees in IX in EE 00089 Int_t fMaxDeeIYInEE; // Maximum number of Dees in IY in EE 00090 00091 Int_t fMaxDeeInEEPlus; // Maximum number of Dees in EE+ 00092 Int_t fMaxDeeInEEMinus; // Maximum number of Dees in EE- 00093 Int_t fMaxDeeInEE; // Maximum number of Dees in EE 00094 00095 Int_t fMaxSCIXInEE; // Maximum number of SC's in IX in EE 00096 Int_t fMaxSCIYInEE; // Maximum number of SC's in IY in EE 00097 Int_t fMaxSCEcnaInEE; // Maximum number of SC's in the EE matrix 00098 00099 Int_t fMaxSCIXInDee; // Maximum number of super-crystals in IX in Dee 00100 Int_t fMaxSCIYInDee; // Maximum number of super-crystals in IY in Dee 00101 Int_t fMaxSCEcnaInDee; // Maximum ECNA number of super-crystals in the Dee matrix 00102 // ( = fMaxSCIXInDee*fMaxSCIYInDee ) 00103 Int_t fMaxSCForConsInDee; // Maximum number of super-crystals for construction in Dee 00104 Int_t fMaxSCForConsInEE; // Maximum number of super-crystals for construction in EE 00105 00106 Int_t fMaxCrysIXInSC; // Maximum number of crystals in IX in a super-crystal 00107 Int_t fMaxCrysIYInSC; // Maximum number of crystals in IY in a super-crystal 00108 Int_t fMaxCrysInSC; // Maximum number of crystals in a super-crystal 00109 // ( = fMaxCrysIXInSC*fMaxCrysIYInSC ) 00110 00111 Int_t fMaxCrysIXInDee; // Maximum number of crystals in IX in Dee 00112 // ( = fMaxSCIXInDee*fMaxCrysIXInSC ) 00113 00114 Int_t fMaxCrysIYInDee; // Maximum number of crystals in IY in Dee 00115 // ( = fMaxSCIYInDee*fMaxCrysIYInSC ) 00116 00117 Int_t fMaxCrysEcnaInDee; // Maximum number of crystals in Dee matrix 00118 // ( = fMaxSCEcnaInDee*fMaxCrysInSC ) 00119 Int_t fMaxCrysForConsInDee; // Maximum number of crystals for construction in Dee 00120 // ( = fMaxSCForConsInDee*fMaxCrysInSC ) 00121 00122 Int_t fEmptyChannelsForIncompleteSCInDee; // Total number of empty channels for the incomplete SCs 00123 Int_t fEmptyChannelsInDeeMatrixIncompleteSCIncluded; // Total number of empty channels in Dee "Ecna" matrix 00124 // (incomplete SCs included) 00125 00126 Int_t fMaxDSInEEPlus; // Maximum number of Data Sectors in EE+ 00127 Int_t fMaxDSInEEMinus; // Maximum number of Data Sectors in EE- 00128 Int_t fMaxDSInEE; // Maximum number of Data Sectors in EE 00129 00130 Int_t fNumberOfNotConnectedSCs; // for SCs 182, 178, 207, etc... 00131 Int_t fNumberOfNotCompleteSCs; // for SCs 161, 216, 224, etc... 00132 00133 //.......................... Stas (current Subdetector) 00134 00135 Int_t fMaxSampADC; // Maximum number of samples ADC 00136 00137 // Int_t fMaxEvtsInBurstPedRun; // Maximum number of events per burst in Pedestal Runs 00138 00139 Int_t fMaxStexHocoInStas; // Maximum number of Stex's in Hoco in Stas 00140 Int_t fMaxStexVecoInStas; // Maximum number of Stex's in Veco in Stas 00141 Int_t fMaxStexInStasPlus; // Maximum number of Stex's in Stas+ 00142 Int_t fMaxStexInStasMinus; // Maximum number of Stex's in Stas- 00143 Int_t fMaxStexInStas; // Maximum number of Stex's in Stas 00144 00145 Int_t fMaxStinHocoInStas; // Maximum number of Stin's in Hoco in Stas 00146 Int_t fMaxStinVecoInStas; // Maximum number of Stin's in Veco in Stas 00147 Int_t fMaxStinEcnaInStas; // Maximum number of Stin's in Stas 00148 00149 Int_t fMaxStinHocoInStex; // Maximum number of Stin's in Hoco in a Stex 00150 Int_t fMaxStinVecoInStex; // Maximum number of Stin's in Veco in a Stex 00151 Int_t fMaxStinEcnaInStex; // Maximum number of Stin's in a Stex ("Ecna" Stex matrix for Dee) 00152 // ( = fMaxStinHocoInStex*fMaxStinVecoInStex ) 00153 00154 Int_t fMaxCrysHocoInStin; // Maximum number of crystals in Hoco in a Stin 00155 Int_t fMaxCrysVecoInStin; // Maximum number of crystals in Veco in a Stin 00156 Int_t fMaxCrysInStin; // Maximum number of crystals in a Stin 00157 // ( = fMaxCrysHocoInStin*fMaxCrysVecoInStin ) 00158 00159 Int_t fMaxCrysHocoInStex; // Maximum number of crystals in Hoco in a Stex 00160 // ( = fMaxStinHocoInStex*fMaxCrysHocoInStin ) 00161 00162 Int_t fMaxCrysVecoInStex; // Maximum number of crystals in Veco in a Stex 00163 // ( = fMaxStinVecoInStex*fMaxCrysVecoInStin ) 00164 00165 Int_t fMaxCrysEcnaInStex; // Maximum number of crystals in a ECNA matrix Stex 00166 // ( = fMaxStinEcnaInStex*fMaxCrysInStin ) 00167 00168 Int_t fMaxStinInStex; // EB: Maximum number of towers in SM (= fMaxStinEcnaInStex = fMaxTowInSM) 00169 // EE: Maximum number of SC for Construction in Dee (= fMaxSCForConsInDee) 00170 00171 Int_t fMaxCrysInStex; // EB: Maximum number of crystals in SM (= fMaxCrysEcnaInStex = fMaxCrysInSM) 00172 // EE: Maximum number of crystals for Construction in Dee (= fMaxCrysForConsInDee) 00173 00174 // Int_t fMaxStinForConsInStas; // Maximum number of towers in EB 00175 // or Maximum number of SC for construction in EE 00176 00177 //------------------------------- methods 00178 00179 public: 00180 00181 TEcnaParEcal(); 00182 TEcnaParEcal(const TString); 00183 TEcnaParEcal(TEcnaObject*, const TString); 00184 ~TEcnaParEcal(); 00185 00186 void SetEcalSubDetector(const TString); 00187 TString GetEcalSubDetector(); 00188 00189 //............................. EB 00190 Int_t MaxSampADCEB(); 00191 // Int_t MaxEvtsInBurstPedRunEB(); 00192 00193 Int_t MaxSMEtaInEB(); 00194 Int_t MaxSMPhiInEB(); 00195 00196 Int_t MaxSMInEBPlus(); 00197 Int_t MaxSMInEBMinus(); 00198 Int_t MaxSMInEB(); 00199 00200 Int_t MaxTowEtaInEB(); 00201 Int_t MaxTowPhiInEB(); 00202 Int_t MaxTowInEB(); 00203 00204 Int_t MaxTowEtaInSM(); 00205 Int_t MaxTowPhiInSM(); 00206 Int_t MaxTowInSM(); 00207 00208 Int_t MaxCrysEtaInTow(); 00209 Int_t MaxCrysPhiInTow(); 00210 Int_t MaxCrysInTow(); 00211 00212 Int_t MaxCrysEtaInSM(); 00213 Int_t MaxCrysPhiInSM(); 00214 Int_t MaxCrysInSM(); 00215 00216 //............................. EE 00217 Int_t MaxSampADCEE(); 00218 // Int_t MaxEvtsInBurstPedRunEE(); 00219 00220 Int_t MaxDeeIXInEE(); 00221 Int_t MaxDeeIYInEE(); 00222 00223 Int_t MaxDeeInEEPlus(); 00224 Int_t MaxDeeInEEMinus(); 00225 Int_t MaxDeeInEE(); 00226 00227 Int_t MaxSCIXInEE(); 00228 Int_t MaxSCIYInEE(); 00229 Int_t MaxSCEcnaInEE(); // default for MaxSCInEE() 00230 Int_t MaxSCInEE(); 00231 Int_t MaxSCForConsInEE(); 00232 00233 Int_t MaxSCIXInDee(); 00234 Int_t MaxSCIYInDee(); 00235 Int_t MaxSCEcnaInDee(); // default for MaxSCInDee() 00236 Int_t MaxSCInDee(); 00237 Int_t MaxSCForConsInDee(); 00238 00239 Int_t MaxCrysIXInSC(); 00240 Int_t MaxCrysIYInSC(); 00241 Int_t MaxCrysInSC(); 00242 00243 Int_t MaxCrysIXInDee(); 00244 Int_t MaxCrysIYInDee(); 00245 Int_t MaxCrysEcnaInDee(); // default for MaxCrysInDee() 00246 Int_t MaxCrysInDee(); 00247 Int_t MaxCrysForConsInDee(); 00248 Int_t EmptyChannelsInDeeMatrixIncompleteSCIncluded(); 00249 00250 Int_t MaxDSInEE(); 00251 00252 Int_t NumberOfNotConnectedSCs(); 00253 Int_t NumberOfNotCompleteSCs(); 00254 00255 //............................. Current subdetector (Stin-Stex-Stas) 00256 Int_t MaxSampADC(); 00257 00258 Int_t MaxStexHocoInStas(); 00259 Int_t MaxStexVecoInStas(); 00260 00261 Int_t MaxStexInStasPlus(); 00262 Int_t MaxStexInStasMinus(); 00263 Int_t MaxStexInStas(); 00264 00265 Int_t MaxStinHocoInStas(); 00266 Int_t MaxStinVecoInStas(); 00267 Int_t MaxStinEcnaInStas(); 00268 // Int_t MaxStinForConsInStas(); 00269 00270 Int_t MaxStinHocoInStex(); 00271 Int_t MaxStinVecoInStex(); 00272 Int_t MaxStinEcnaInStex(); 00273 Int_t MaxStinInStex(); 00274 00275 Int_t MaxCrysHocoInStex(); 00276 Int_t MaxCrysVecoInStex(); 00277 Int_t MaxCrysEcnaInStex(); 00278 Int_t MaxCrysInStex(); 00279 00280 Int_t MaxCrysHocoInStin(); 00281 Int_t MaxCrysVecoInStin(); 00282 Int_t MaxCrysInStin(); 00283 00284 ClassDef(TEcnaParEcal,1) //Init of ECAL parameters 00285 }; 00286 #endif