X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALCalibMapAPD.cxx;h=4e9af8fc119b92b1fd34939a34c0473e7c3939db;hb=37fc80e656b4a99a04b30cf94cceb01038c84c10;hp=7c16fee81d9af5ec1a2b39306ff3f3c32c93d305;hpb=2f17a26997992da8c23470bb4cc226ffdb08a08e;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALCalibMapAPD.cxx b/EMCAL/AliEMCALCalibMapAPD.cxx index 7c16fee81d9..4e9af8fc119 100644 --- a/EMCAL/AliEMCALCalibMapAPD.cxx +++ b/EMCAL/AliEMCALCalibMapAPD.cxx @@ -39,6 +39,7 @@ AliEMCALCalibMapAPD::AliEMCALCalibMapAPD(const int nSM) : fSuperModuleData.Add(new AliEMCALSuperModuleCalibMapAPD(i)); } fSuperModuleData.Compress(); // compress the TObjArray + fSuperModuleData.SetOwner(kTRUE); } //____________________________________________________________________________ @@ -60,12 +61,12 @@ void AliEMCALCalibMapAPD::ReadTextCalibMapAPDInfo(Int_t nSM, const TString &txtF Int_t iRow = 0; // list of values to be read Int_t iHW = 0; - Int_t APDNum = 0; - Float_t V30 = 0; - Float_t Par[3] = {0}; - Float_t ParErr[3] = {0}; - Int_t BreakDown = 0; - Float_t DarkCurrent = 0; + Int_t iAPDNum = 0; + Float_t v30 = 0; + Float_t par[3] = {0}; + Float_t parErr[3] = {0}; + Int_t iBreakDown = 0; + Float_t darkCurrent = 0; // end - all values Int_t nAPDPerSM = AliEMCALGeoParams::fgkEMCALCols * AliEMCALGeoParams::fgkEMCALRows; @@ -73,7 +74,7 @@ void AliEMCALCalibMapAPD::ReadTextCalibMapAPDInfo(Int_t nSM, const TString &txtF for (Int_t i = 0; i < fNSuperModule; i++) { AliEMCALSuperModuleCalibMapAPD * t = (AliEMCALSuperModuleCalibMapAPD*) fSuperModuleData[i]; if (!inputFile) { - printf("AliEMCALCalibMapAPD::ReadCalibMapAPDInfo - Error while reading input file; likely EOF.."); + printf("AliEMCALCalibMapAPD::ReadCalibMapAPDInfo - Error while reading input file; likely EOF..\n"); return; } inputFile >> iSM; @@ -81,10 +82,17 @@ void AliEMCALCalibMapAPD::ReadTextCalibMapAPDInfo(Int_t nSM, const TString &txtF for (Int_t j=0; j> iCol >> iRow >> iHW - >> APDNum >> V30 - >> Par[0] >> Par[1] >> Par[2] - >> ParErr[0] >> ParErr[1] >> ParErr[2] - >> BreakDown >> DarkCurrent; + >> iAPDNum >> v30 + >> par[0] >> par[1] >> par[2] + >> parErr[0] >> parErr[1] >> parErr[2] + >> iBreakDown >> darkCurrent; + + // check that input values are not out bounds + if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) || + iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) { + printf("AliEMCALCalibMapAPD::ReadCalibMapAPDInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow); + return; + } // assume that this info is already swapped and done for this basis? if (swapSides) { @@ -96,16 +104,16 @@ void AliEMCALCalibMapAPD::ReadTextCalibMapAPDInfo(Int_t nSM, const TString &txtF AliEMCALCalibMapAPDVal * v = t->GetAPDVal(iCol, iRow); v->SetHardWareId(iHW); - v->SetAPDNum(APDNum); - v->SetV30(V30); - v->SetPar(0, Par[0]); - v->SetPar(1, Par[1]); - v->SetPar(2, Par[2]); - v->SetParErr(0, ParErr[0]); - v->SetParErr(1, ParErr[1]); - v->SetParErr(2, ParErr[2]); - v->SetBreakDown(BreakDown); - v->SetDarkCurrent(DarkCurrent); + v->SetAPDNum(iAPDNum); + v->SetV30(v30); + v->SetPar(0, par[0]); + v->SetPar(1, par[1]); + v->SetPar(2, par[2]); + v->SetParErr(0, parErr[0]); + v->SetParErr(1, parErr[1]); + v->SetParErr(2, parErr[2]); + v->SetBreakDown(iBreakDown); + v->SetDarkCurrent(darkCurrent); } } // i, SuperModule @@ -191,12 +199,12 @@ void AliEMCALCalibMapAPD::ReadTreeCalibMapAPDInfo(TTree *tree, Int_t iRow = 0; // list of values to be read Int_t iHW = 0; - Int_t APDNum = 0; - Float_t V30 = 0; - Float_t Par[3] = {0}; - Float_t ParErr[3] = {0}; - Int_t BreakDown = 0; - Float_t DarkCurrent = 0; + Int_t iAPDNum = 0; + Float_t v30 = 0; + Float_t par[3] = {0}; + Float_t parErr[3] = {0}; + Int_t iBreakDown = 0; + Float_t darkCurrent = 0; // end - all values // declare the branches @@ -204,12 +212,12 @@ void AliEMCALCalibMapAPD::ReadTreeCalibMapAPDInfo(TTree *tree, tree->SetBranchAddress("iCol", &iCol); tree->SetBranchAddress("iRow", &iRow); tree->SetBranchAddress("iHW", &iHW); - tree->SetBranchAddress("APDNum", &APDNum); - tree->SetBranchAddress("V30", &V30); - tree->SetBranchAddress("Par", Par); - tree->SetBranchAddress("ParErr", ParErr); - tree->SetBranchAddress("BreakDown", &BreakDown); - tree->SetBranchAddress("DarkCurrent", &DarkCurrent); + tree->SetBranchAddress("APDNum", &iAPDNum); + tree->SetBranchAddress("V30", &v30); + tree->SetBranchAddress("Par", par); + tree->SetBranchAddress("ParErr", parErr); + tree->SetBranchAddress("BreakDown", &iBreakDown); + tree->SetBranchAddress("DarkCurrent", &darkCurrent); for (int ient=0; ientGetEntries(); ient++) { tree->GetEntry(ient); @@ -228,16 +236,16 @@ void AliEMCALCalibMapAPD::ReadTreeCalibMapAPDInfo(TTree *tree, AliEMCALCalibMapAPDVal * v = t->GetAPDVal(iCol, iRow); v->SetHardWareId(iHW); - v->SetAPDNum(APDNum); - v->SetV30(V30); - v->SetPar(0, Par[0]); - v->SetPar(1, Par[1]); - v->SetPar(2, Par[2]); - v->SetParErr(0, ParErr[0]); - v->SetParErr(1, ParErr[1]); - v->SetParErr(2, ParErr[2]); - v->SetBreakDown(BreakDown); - v->SetDarkCurrent(DarkCurrent); + v->SetAPDNum(iAPDNum); + v->SetV30(v30); + v->SetPar(0, par[0]); + v->SetPar(1, par[1]); + v->SetPar(2, par[2]); + v->SetParErr(0, parErr[0]); + v->SetParErr(1, parErr[1]); + v->SetParErr(2, parErr[2]); + v->SetBreakDown(iBreakDown); + v->SetDarkCurrent(darkCurrent); } // return; @@ -259,12 +267,12 @@ void AliEMCALCalibMapAPD::WriteRootCalibMapAPDInfo(const TString &rootFileName, // variables for filling the TTree Int_t iSM = 0; // SuperModule index Int_t iHW = 0; - Int_t APDNum = 0; - Float_t V30 = 0; - Float_t Par[3] = {0}; - Float_t ParErr[3] = {0}; - Int_t BreakDown = 0; - Float_t DarkCurrent = 0; + Int_t iAPDNum = 0; + Float_t v30 = 0; + Float_t par[3] = {0}; + Float_t parErr[3] = {0}; + Int_t iBreakDown = 0; + Float_t darkCurrent = 0; // Int_t iCol = 0; Int_t iRow = 0; @@ -273,12 +281,12 @@ void AliEMCALCalibMapAPD::WriteRootCalibMapAPDInfo(const TString &rootFileName, tree->Branch("iCol", &iCol, "iCol/I"); tree->Branch("iRow", &iRow, "iRow/I"); tree->Branch("iHW", &iHW, "iHW/I"); - tree->Branch("APDNum", &APDNum, "APDNum/I"); - tree->Branch("V30", &V30, "V30/F"); - tree->Branch("Par", &Par, "Par[3]/F"); - tree->Branch("ParErr", &ParErr, "ParErr[3]/F"); - tree->Branch("BreakDown", &BreakDown, "BreakDown/I"); - tree->Branch("DarkCurrent", &DarkCurrent, "DarkCurrent/F"); + tree->Branch("APDNum", &iAPDNum, "APDNum/I"); + tree->Branch("V30", &v30, "V30/F"); + tree->Branch("Par", &par, "Par[3]/F"); + tree->Branch("ParErr", &parErr, "ParErr[3]/F"); + tree->Branch("BreakDown", &iBreakDown, "BreakDown/I"); + tree->Branch("DarkCurrent", &darkCurrent, "DarkCurrent/F"); Int_t nAPDPerSM = AliEMCALGeoParams::fgkEMCALCols * AliEMCALGeoParams::fgkEMCALRows; @@ -298,14 +306,14 @@ void AliEMCALCalibMapAPD::WriteRootCalibMapAPDInfo(const TString &rootFileName, } iHW = v->GetHardWareId(); - APDNum = v->GetAPDNum(); - V30 = v->GetV30(); + iAPDNum = v->GetAPDNum(); + v30 = v->GetV30(); for (int k=0; k<3; k++) { - Par[k] = v->GetPar(k); - ParErr[k] = v->GetParErr(k); + par[k] = v->GetPar(k); + parErr[k] = v->GetParErr(k); } - BreakDown = v->GetBreakDown(); - DarkCurrent = v->GetDarkCurrent(); + iBreakDown = v->GetBreakDown(); + darkCurrent = v->GetDarkCurrent(); tree->Fill(); }