]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliCaloCalibPedestal.cxx
Add more user oriented options to costumize the tender - Jiri
[u/mrichter/AliRoot.git] / EMCAL / AliCaloCalibPedestal.cxx
index 44e9d16147cab38915ae99f6bd6eb2cd7bcc2c47..65321bae6a6e71da92e34e9959d7ab5292f79c46 100644 (file)
@@ -254,10 +254,12 @@ void AliCaloCalibPedestal::CompressAndSetOwner()
 //_____________________________________________________________________
 AliCaloCalibPedestal::~AliCaloCalibPedestal()
 {
+  //dtor
+  
   if (fReference) delete fReference;//Delete the reference object, if it has been loaded
-
+  
   // delete also TObjArray's 
-  fPedestalLowGain.Delete();
+  fPedestalLowGain.Delete(); 
   fPedestalHighGain.Delete();
   fPedestalLEDRefLowGain.Delete();
   fPedestalLEDRefHighGain.Delete();
@@ -277,7 +279,7 @@ AliCaloCalibPedestal::~AliCaloCalibPedestal()
   fPeakMinusPedLowGainRatio.Delete();
   fPeakMinusPedHighGainRatio.Delete();
   fDeadMap.Delete();
-
+  
 }
 
 // copy ctor
@@ -359,9 +361,8 @@ AliCaloCalibPedestal& AliCaloCalibPedestal::operator = (AliCaloCalibPedestal &so
 
 //_____________________________________________________________________
 void AliCaloCalibPedestal::Reset()
-{
+{   // Reset all arrays/histograms
   ValidateProfiles(); // make sure histos/profiles exist
-  // Reset all arrays/histograms
   for (int i = 0; i < fModules; i++) {
     GetPedProfileLowGain(i)->Reset();
     GetPedProfileHighGain(i)->Reset();
@@ -528,6 +529,24 @@ Bool_t AliCaloCalibPedestal::AddInfo(AliCaloCalibPedestal *ped)
 
   }//end for nModules 
 
+  // We should also copy other pieces of info: counters and parameters 
+  // (not number of columns and rows etc which should be the same)
+  // note that I just assign them here rather than Add them, but we
+  // normally just Add (e.g. in Preprocessor) one object so this should be fine.
+  fNEvents = ped->GetNEvents();
+  fNChanFills = ped->GetNChanFills();
+  fDeadTowers = ped->GetDeadTowerCount();
+  fNewDeadTowers = ped->GetDeadTowerNew();
+  fResurrectedTowers = ped->GetDeadTowerResurrected();
+  fRunNumber = ped->GetRunNumber();
+  fSelectPedestalSamples = ped->GetSelectPedestalSamples();
+  fFirstPedestalSample = ped->GetFirstPedestalSample();
+  fLastPedestalSample = ped->GetLastPedestalSample();
+  fDeadThreshold = ped->GetDeadThreshold();
+  fWarningThreshold = ped->GetWarningThreshold();
+  fWarningFraction = ped->GetWarningFraction();
+  fHotSigma = ped->GetHotSigma();
+
   // DeadMap; Diff profiles etc would need to be redone after this operation
 
   return kTRUE;//We succesfully added info from the supplied object
@@ -549,6 +568,8 @@ Bool_t AliCaloCalibPedestal::ProcessEvent(AliCaloRawStreamV3 *in)
 { 
   // Method to process=analyze one event in the data stream
   if (!in) return kFALSE; //Return right away if there's a null pointer
+  in->Reset(); // just in case the next customer forgets to check if the stream was reset..
+
   fNEvents++; // one more event
 
   if (fNEvents==1) ValidateProfiles(); // 1st event, make sure histos/profiles exist
@@ -652,7 +673,6 @@ Bool_t AliCaloCalibPedestal::ProcessEvent(AliCaloRawStreamV3 *in)
     }// end while over channel   
   }//end while over DDL's, of input stream 
 
-  in->Reset(); // just in case the next customer forgets to check if the stream was reset..
  
   return kTRUE;
 }
@@ -735,7 +755,7 @@ Bool_t AliCaloCalibPedestal::LoadReferenceCalib(TString fileName, TString object
 
 //_____________________________________________________________________
 Bool_t AliCaloCalibPedestal::SetReference(AliCaloCalibPedestal *ref)
-{
+{ // set reference object
   if (fReference) delete fReference;//Delete the reference object, if it already exists
   fReference = 0;
   
@@ -870,8 +890,7 @@ void AliCaloCalibPedestal::ValidateComparisonProfiles()
 
 //_____________________________________________________________________
 void AliCaloCalibPedestal::ComputeDiffAndRatio()
-{
-  // calculate differences and ratios relative to a reference
+{ // calculate differences and ratios relative to a reference
   ValidateProfiles(); // make sure histos/profiles exist
   ValidateComparisonProfiles();//Make sure the comparison histos exist
  
@@ -1066,7 +1085,7 @@ void AliCaloCalibPedestal::ComputeDeadTowers(const char * deadMapFile)
     }
     if (!diff->is_open()) {
       delete diff;
-      fout = 0;//Set the pointer to empty if the file was not opened
+      diff = 0;//Set the pointer to empty if the file was not opened
     }
   }