4 static const int fgkEmCalRows = 24; // number of rows per module for EMCAL
5 static const int fgkEmCalCols = 48; // number of columns per module for EMCAL
7 Float_t biasVoltage[fgkEmCalCols][fgkEmCalRows];
9 //____________________________________________________________________
10 void WriteBiasV30(const char * inputDBName, const char * inputMapName,
11 const int defaultVoltage, const char * outputFileName)
14 ofstream outputFile(outputFileName);
15 SetBiasVoltage(inputDBName, inputMapName, defaultVoltage);
17 for (int icol=0; icol<fgkEmCalCols; icol++) {
18 for (int irow=0; irow<fgkEmCalRows; irow++) {
19 outputFile << icol << " " << irow << " " << biasVoltage[icol][irow] << endl;
26 //____________________________________________________________________
27 void SetBiasVoltage(const char * inputDBName, const char * inputMapName,
28 const int defaultVoltage)
30 gSystem->Load("AliEMCALCalibAPD_cxx");
31 AliEMCALCalibAPD *calibAPD = new AliEMCALCalibAPD();
33 calibAPD->ReadCalibAPDInfo(10000, inputDBName);
34 int fNCalibAPD = calibAPD->GetNCalibAPD();
35 AliEMCALCalibAPD::AliEMCALCalibAPDData * fCalib = calibAPD->GetCalibAPDData();
38 gSystem->Load("AliEMCALMapAPD_cxx");
39 AliEMCALMapAPD *mapAPD = new AliEMCALMapAPD();
42 mapAPD->ReadMapAPDInfo(nSM, inputMapName);
43 AliEMCALMapAPD::AliEMCALSuperModuleMapAPD * fMap = mapAPD->GetSuperModuleData();
46 for (int icol=0; icol<fgkEmCalCols; icol++) {
47 for (int irow=0; irow<fgkEmCalRows; irow++) {
49 int apdMap = fMap[0].fAPDNum[icol][irow]; // 0 = nSM - 1
52 while (i<fNCalibAPD && apdMap!=apdCalib) {
53 apdCalib = fCalib[i].fAPDNum;
57 if (apdCalib == apdMap) { // found!
58 i--; // go back to what we dound
59 biasVoltage[icol][irow] = fCalib[i].fV30;
63 biasVoltage[icol][irow] = defaultVoltage;
69 cout << " found " << nFound << " matches " << endl;