/************************************************************************** * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * * Author: The ALICE Off-line Project. * * Contributors are mentioned in the code where appropriate. * * * * Permission to use, copy, modify and distribute this software and its * * documentation strictly for non-commercial purposes is hereby granted * * without fee, provided that the above copyright notice appears in all * * copies and that both the copyright notice and this permission notice * * appear in the supporting documentation. The authors make no claims * * about the suitability of this software for any purpose. It is * * provided "as is" without express or implied warranty. * **************************************************************************/ /* $Id$ */ //_________________________________________________________________________ ///*-- Author: Yves Schutz (SUBATECH) // : Aleksei Pavlinov (WSU); Jun 30, 2006 - ALICE numbering scheme // : Add decalibration and time calibration arrays: Jul 21, 2011 (GCB) /////////////////////////////////////////////////////////////////////////////// // // // class for EMCAL calibration // // // /////////////////////////////////////////////////////////////////////////////// #include #include "AliEMCALCalibData.h" ClassImp(AliEMCALCalibData) //__________________________________________________________ AliEMCALCalibData::AliEMCALCalibData() : TNamed(), fADCchannelRef(0) { // Default constructor Reset(); } //________________________________________________________________________ AliEMCALCalibData::AliEMCALCalibData(const char* name) : TNamed(name,name),fADCchannelRef(0) { // Constructor Reset(); } //______________________________________________________________________ AliEMCALCalibData::AliEMCALCalibData(const AliEMCALCalibData& calibda) : TNamed(calibda), fADCchannelRef(calibda.fADCchannelRef) { // copy constructor SetName (calibda.GetName()); SetTitle(calibda.GetName()); Reset(); Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules; //12 Int_t nCol = AliEMCALGeoParams::fgkEMCALCols; //48 Int_t nRow = AliEMCALGeoParams::fgkEMCALRows; //24 Int_t nRow2 = AliEMCALGeoParams::fgkEMCALRows; //12 - Modules 11 and 12 are half modules // in reality they are 1/3 but leave them as 1/2 for(Int_t supermodule = 0; supermodule < nSMod; supermodule++) { if(supermodule >= 10) nRow = nRow2; for(Int_t column = 0; column= 10) nRow = nRow2; for(Int_t column = 0; column= 10) nRow = nRow2; for (Int_t column=0; column < nCol; column++){ for (Int_t row = 0; row < nRow; row++){ fADCpedestal [supermodule][column][row]=0.; fADCchannelDecal [supermodule][column][row]=1.; fADCchannel [supermodule][column][row]=1.; fTimeChannelDecal[supermodule][column][row]=0.; for(Int_t bc = 0; bc < 4; bc++) fTimeChannel[supermodule][column][row][bc]=0; } } } } //____________________________________________________ void AliEMCALCalibData::Print(Option_t *option) const { // Print tables of pedestals and ADC channels widths // options are: "gain", "ped", "decal", "time", "all" Int_t nSMod = AliEMCALGeoParams::fgkEMCALModules; //12 Int_t nCol = AliEMCALGeoParams::fgkEMCALCols; //48 Int_t nRow = AliEMCALGeoParams::fgkEMCALRows; //24 Int_t nRow2 = AliEMCALGeoParams::fgkEMCALRows/2; //12 - Modules 11 and 12 are half modules // in reality they are 1/3 but leave them as 1/2 if (strstr(option,"ped") || strstr(option,"all")) { printf("\n ---- Pedestal values ----\n\n"); for (Int_t supermodule=0; supermodule= 10) nRow = nRow2; printf("============== Supermodule %d\n",supermodule+1); for (Int_t column=0; column= 10) nRow = nRow2; printf("============== Supermodule %d\n",supermodule+1); for (Int_t column=0; column= 10) nRow = nRow2; printf("============== Supermodule %d\n",supermodule+1); for (Int_t column=0; column= 10) nRow = nRow2; printf("============== Supermodule %d\n",supermodule+1); for (Int_t column=0; column= 10) nRow = nRow2; printf("============== Supermodule %d\n",supermodule+1); for (Int_t column=0; column