--- DarthVader/CalorimeterLevel2/src/CaloProcessing.cpp 2006/05/19 13:15:49 1.1.1.1 +++ DarthVader/CalorimeterLevel2/src/CaloProcessing.cpp 2006/08/04 10:31:27 1.3 @@ -46,75 +46,11 @@ // CaloProcessing::~CaloProcessing(){ + delete de; delete this; } CaloProcessing::CaloProcessing(){ - e_clevel1 = new struct FlCaLevel1; - e_clevel2 = new struct FlCaLevel2; - e_clevel2->ncore = 0; - e_clevel2->qcore = 0.; - e_clevel2->noint = 0.; - e_clevel2->ncyl = 0.; - e_clevel2->qcyl = 0.; - e_clevel2->qtrack = 0.; - e_clevel2->qtrackx = 0.; - e_clevel2->qtracky = 0.; - e_clevel2->dxtrack = 0.; - e_clevel2->dytrack = 0.; - e_clevel2->qlast = 0.; - e_clevel2->nlast = 0.; - e_clevel2->qpre = 0.; - e_clevel2->npre = 0.; - e_clevel2->qpresh = 0.; - e_clevel2->npresh = 0.; - e_clevel2->qlow = 0.; - e_clevel2->nlow = 0.; - e_clevel2->qtr = 0.; - e_clevel2->ntr = 0.; - e_clevel2->elen = 0.; - e_clevel2->selen = 0.; - e_clevel1->good2 = 0; - e_clevel1->trkchi2 = 0; - for (Int_t il = 0; il<2 ; il++){ - for ( Int_t jl = 0; jl<22; jl++){ - if ( jl < 5 ) e_clevel1->al_p[jl][il] = 0.; - for ( Int_t ml = 0; ml<96; ml++){ - e_clevel1->estrip[ml][jl][il] = 0.; - }; - }; - }; - e_clevel2->trigty = 0.; - e_clevel2->good = 0; - e_clevel2->nstrip = 0.; - e_clevel2->qtot = 0.; - e_clevel2->impx = 0.; - e_clevel2->impy = 0.; - e_clevel2->tanx = 0.; - e_clevel2->tany = 0.; - e_clevel2->qmax = 0.; - e_clevel2->nx22 = 0.; - e_clevel2->qx22 = 0.; - e_clevel2->planetot = 0.; - e_clevel2->qmean = 0.; - e_clevel2->dX0l = 0.; - for (Int_t il = 0; il<4 ; il++){ - e_clevel2->perr[il] = 0; - e_clevel2->swerr[il] = 0; - e_clevel2->crc[il] = 0; - e_clevel2->qq[il] = 0.; - if ( il < 2 ){ - e_clevel2->varcfit[il] = 0.; - e_clevel2->planemax[il] = 0; - e_clevel2->npcfit[il] = 0; - for ( Int_t jl = 0; jl<22; jl++){ - e_clevel2->cibar[jl][il] = 0; - e_clevel2->tibar[jl][il] = 0; - e_clevel2->cbar[jl][il] = 0.; - e_clevel2->tbar[jl][il] = 0.; - }; - }; - }; // extern struct FlCaLevel1 clevel1_; extern struct FlCaLevel2 clevel2_; @@ -123,19 +59,12 @@ // trkseqno = 0; ClearStructs(); - for ( Int_t l = 0; l < 2; l++ ){ - for ( Int_t m = 0; m < 22; m++ ){ - for ( Int_t n = 0; n < 96; n++ ){ - dexy[l][m][n] = 0.; - dexyc[l][m][n] = 0.; - mip[l][m][n] = 0.; - if ( n < 6 ){ - base[l][m][n] = 0.; - sbase[l][m][n] = 0.; - }; - }; - }; - }; + // + memset(dexy, 0, 2*22*96*sizeof(Float_t)); + memset(dexyc, 0, 2*22*96*sizeof(Float_t)); + memset(mip, 0, 2*22*96*sizeof(Float_t)); + memset(base, 0, 2*22*6*sizeof(Float_t)); + memset(sbase, 0, 2*22*6*sizeof(Float_t)); calopar1 = true; calopar2 = true; ftcalopar1 = 0ULL; @@ -217,6 +146,9 @@ if ( sgnl ) break; }; // + delete glcalo; + delete glroot; + // return; // } @@ -308,6 +240,9 @@ fclose(f); }; // + delete glparam; + // delete f; + // return(0); } @@ -487,7 +422,7 @@ doneb = 0; donec = 0; pre++; - qpre[pre] = 0; + qpre[pre] = 0.; }; // // baseline check and calculation @@ -560,13 +495,13 @@ ipre = ip[i] - 1; }; for (Int_t j = ipre*16 ; j < (ipre+1)*16 ; j++){ - clevel1->estrip[j][m][l] = clevel1->estrip[j][m][l] + (qpre[ipre] - qpre[ip[i]]) * 0.00478; + clevel1->estrip[j][m][l] += (qpre[ipre] - qpre[ip[i]]) * 0.00478; }; }; if (ck == 2){ for (Int_t j = i*32 ; j < (i+1)*32 ; j++){ ipre = j/16 + 1; - clevel1->estrip[j][m][l] = clevel1->estrip[j][m][l] + qpre[ipre] * 0.00478; + clevel1->estrip[j][m][l] += qpre[ipre] * 0.00478; }; }; }; @@ -580,12 +515,12 @@ j4++; if ( j < 96 ) ene[j] = clevel1->estrip[j][m][l]; if ( jj >= 0 && jj < 96 ){ - if ( jj != 0 && jj != 32 && jj != 64 ) ene[jj-1] = ene[jj-1] - clevel1->estrip[jj][m][l] * 0.01581; - if ( jj != 31 && jj != 63 && jj != 95 ) ene[jj+1] = ene[jj+1] - clevel1->estrip[jj][m][l] * 0.01581; + if ( jj != 0 && jj != 32 && jj != 64 ) ene[jj-1] += -clevel1->estrip[jj][m][l] * 0.01581; + if ( jj != 31 && jj != 63 && jj != 95 ) ene[jj+1] += -clevel1->estrip[jj][m][l] * 0.01581; }; if ( jjj >= 0 && jjj < 96 ){ - if ( jjj != 0 && jjj != 32 && jjj != 64 ) clevel1->estrip[jjj-1][m][l] = clevel1->estrip[jjj-1][m][l] - ene[jjj] * 0.01581; - if ( jjj != 31 && jjj != 63 && jjj != 95 ) clevel1->estrip[jjj+1][m][l] = clevel1->estrip[jjj+1][m][l] - ene[jjj] * 0.01581; + if ( jjj != 0 && jjj != 32 && jjj != 64 ) clevel1->estrip[jjj-1][m][l] += -ene[jjj] * 0.01581; + if ( jjj != 31 && jjj != 63 && jjj != 95 ) clevel1->estrip[jjj+1][m][l] += -ene[jjj] * 0.01581; }; if ( j4 >= 0 && j4 < 96 ){ // @@ -676,6 +611,8 @@ TClonesArray &t = *ca->CaloTrk; new(t[nutrk]) CaloTrkVar(*t_ca); // + delete t_ca; + // ClearTrkVar(); } @@ -724,18 +661,12 @@ void CaloProcessing::RunClose(){ l0tr->Delete(); ClearStructs(); - for ( Int_t l = 0; l < 2; l++ ){ - for ( Int_t m = 0; m < 22; m++ ){ - for ( Int_t n = 0; n < 96; n++ ){ - dexy[l][m][n] = 0.; - dexyc[l][m][n] = 0.; - if ( n < 6 ){ - base[l][m][n] = 0.; - sbase[l][m][n] = 0.; - }; - }; - }; - }; + // + memset(dexy, 0, 2*22*96*sizeof(Float_t)); + memset(dexyc, 0, 2*22*96*sizeof(Float_t)); + memset(base, 0, 2*22*6*sizeof(Float_t)); + memset(sbase, 0, 2*22*6*sizeof(Float_t)); + // } // @@ -768,9 +699,9 @@ clevel2->dX0l = 0.; clevel2->elen = 0.; clevel2->selen = 0.; - memcpy(clevel1->al_p,e_clevel1->al_p,sizeof(clevel1->al_p)); - memcpy(clevel2->tibar,e_clevel2->tibar,sizeof(clevel2->tibar)); - memcpy(clevel2->tbar,e_clevel2->tbar,sizeof(clevel2->tbar)); + memset(clevel1->al_p, 0, 5*2*sizeof(Double_t)); + memset(clevel2->tibar, 0, 2*22*sizeof(Int_t)); + memset(clevel2->tbar, 0, 2*22*sizeof(Float_t)); } void CaloProcessing::ClearCommonVar(){ @@ -786,15 +717,15 @@ clevel2->qmax = 0.; clevel2->nx22 = 0.; clevel2->qx22 = 0.; - memcpy(clevel2->perr,e_clevel2->perr,sizeof(clevel2->perr)); - memcpy(clevel2->swerr,e_clevel2->swerr,sizeof(clevel2->swerr)); - memcpy(clevel2->crc,e_clevel2->crc,sizeof(clevel2->crc)); - memcpy(clevel2->qq,e_clevel2->qq,sizeof(clevel2->qq)); - memcpy(clevel2->planemax,e_clevel2->planemax,sizeof(clevel2->planemax)); - memcpy(clevel2->varcfit,e_clevel2->varcfit,sizeof(clevel2->varcfit)); - memcpy(clevel2->npcfit,e_clevel2->npcfit,sizeof(clevel2->npcfit)); - memcpy(clevel2->cibar,e_clevel2->cibar,sizeof(clevel2->cibar)); - memcpy(clevel2->cbar,e_clevel2->cbar,sizeof(clevel2->cbar)); + memset(clevel2->perr, 0, 4*sizeof(Int_t)); + memset(clevel2->swerr, 0, 4*sizeof(Int_t)); + memset(clevel2->crc, 0, 4*sizeof(Int_t)); + memset(clevel2->qq, 0, 4*sizeof(Int_t)); + memset(clevel2->varcfit, 0, 2*sizeof(Float_t)); + memset(clevel2->npcfit, 0, 2*sizeof(Int_t)); + memset(clevel2->planemax, 0, 2*sizeof(Int_t)); + memset(clevel2->cibar, 0, 2*22*sizeof(Int_t)); + memset(clevel2->cbar, 0, 2*22*sizeof(Float_t)); } void CaloProcessing::ClearCalibVals(Int_t s){ @@ -902,6 +833,8 @@ sgnl = LoadCalib(s); // if ( sgnl != 0 ) return(sgnl); + delete glcalo; + delete glroot; // return(0); //