/[PAMELA software]/DarthVader/CalorimeterLevel2/src/CaloLevel0.cpp
ViewVC logotype

Diff of /DarthVader/CalorimeterLevel2/src/CaloLevel0.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.26 by mocchiut, Mon Sep 28 17:06:47 2009 UTC revision 1.27 by mocchiut, Wed Nov 25 09:38:30 2009 UTC
# Line 1253  Int_t CaloLevel0::Calibrate(Int_t ei){ Line 1253  Int_t CaloLevel0::Calibrate(Int_t ei){
1253    //    //
1254    Float_t ener0 = 0.;    Float_t ener0 = 0.;
1255    Float_t cbase0 = 0.;    Float_t cbase0 = 0.;
1256      Float_t totbase = 0.;
1257      Float_t totped = 0.;
1258    Bool_t pproblem = false;    Bool_t pproblem = false;
1259    Bool_t negbase = false;    Bool_t negbase = false;
1260    //    //
# Line 1367  Int_t CaloLevel0::Calibrate(Int_t ei){ Line 1369  Int_t CaloLevel0::Calibrate(Int_t ei){
1369          //          //
1370          pre = -1;          pre = -1;
1371          ener0 = 0.;          ener0 = 0.;
1372            totbase = 0.;
1373            totped = 0.;
1374          for (Int_t i = 0 ; i < 3 ; i++){          for (Int_t i = 0 ; i < 3 ; i++){
1375            ip[i] = 0;            ip[i] = 0;
1376            for (Int_t n = i*32 ; n < (i+1)*32 ; n++){                            for (Int_t n = i*32 ; n < (i+1)*32 ; n++){                
# Line 1434  Int_t CaloLevel0::Calibrate(Int_t ei){ Line 1438  Int_t CaloLevel0::Calibrate(Int_t ei){
1438              ener = dexyc[l][m][n];              ener = dexyc[l][m][n];
1439              ener0 += ener;              ener0 += ener;
1440              clevel1->estrip[n][m][l] = 0.;              clevel1->estrip[n][m][l] = 0.;
1441                totbase += de->base[l][m][pre];
1442                totped += fabs(calped[l][m][n]);
1443              if ( de->base[l][m][pre] < 0 ) negbase = true;              if ( de->base[l][m][pre] < 0 ) negbase = true;
1444              if ( base0>0 && base0 < 30000. ){              if ( base0>0 && base0 < 30000. ){
1445                //                //
# Line 1457  Int_t CaloLevel0::Calibrate(Int_t ei){ Line 1463  Int_t CaloLevel0::Calibrate(Int_t ei){
1463          };          };
1464          //          //
1465          // check if there were problems with 5.7 or glitches in the power supply          // check if there were problems with 5.7 or glitches in the power supply
1466          //          //
1467          if ( ((ener0 == 0. && cbase0 == 0.) || negbase ) && !pproblem && clevel2->perr[se] == 0){          if ( ((ener0 == 0. && cbase0 == 0.) || negbase || totbase > 196600. || totped < 1. ) && !pproblem && clevel2->perr[se] == 0){   // check pedestal and baseline values for one plane, if all zeros calibration is not valid (calorimeter power problems) [8th data reduction bug, fixed on 25/11/2009 by E.M.]
1468            if ( verbose ) printf(" L0 entry %i : calorimeter power problems! event marked as bad perr %f swerr %X view %i plane %i \n",ei,de->perror[se],de->stwerr[se],l,m);            if ( verbose ) printf(" L0 entry %i : calorimeter power problems! event marked as bad perr %f swerr %X view %i plane %i \n",ei,de->perror[se],de->stwerr[se],l,m);
1469            pproblem = true;            pproblem = true;
1470            pe++;            pe++;

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.23