silvermy@ornl.gov; coding violations (comments) update
authordsilverm <dsilverm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 29 Oct 2007 09:57:11 +0000 (09:57 +0000)
committerdsilverm <dsilverm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 29 Oct 2007 09:57:11 +0000 (09:57 +0000)
EMCAL/AliCaloCalibPedestal.cxx
EMCAL/AliCaloCalibPedestal.h

index f132523..16be81c 100644 (file)
@@ -1,9 +1,47 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+/* $Id$ */
+
+//________________________________________________________________________
+//
+// A help class for monitoring and calibration tools: MOOD, AMORE etc.,
+// It can be created and used a la (ctor):
+/*
+  //Create the object for making the histograms
+  fPedestals = new AliCaloCalibPedestal( fDetType );
+  // AliCaloCalibPedestal knows how many modules we have for PHOS or EMCAL
+  fNumModules = fPedestals->GetModules();
+*/
+// fed an event:
+//  fPedestals->ProcessEvent(fCaloRawStream);
+// asked to draw histograms:
+//  fPedestals->GetDeadMap(i)->Draw("col");
+// or
+//  fPedestals->GetPeakProfileHighGainRatio((i < fNumModules) ? i : fVisibleModule)->Draw("colz");
+// etc.
+// The pseudo-code examples above were from the first implementation in MOOD (summer 2007).
+//________________________________________________________________________
+
 #include "TH1.h"
 #include "TFile.h"
 
 #include <fstream>
 #include <iostream>
 
+#include "AliCaloRawStream.h"
+
 //The include file
 #include "AliCaloCalibPedestal.h"
 
@@ -173,6 +211,7 @@ AliCaloCalibPedestal::AliCaloCalibPedestal(const AliCaloCalibPedestal &ped) :
 //_____________________________________________________________________
 AliCaloCalibPedestal& AliCaloCalibPedestal::operator = (const AliCaloCalibPedestal &source)
 {
+  // assignment operator; use copy ctor
   if (&source == this) return *this;
 
   new (this) AliCaloCalibPedestal(source);
@@ -182,6 +221,7 @@ AliCaloCalibPedestal& AliCaloCalibPedestal::operator = (const AliCaloCalibPedest
 //_____________________________________________________________________
 void AliCaloCalibPedestal::Reset()
 {
+  // Reset all arrays/histograms
   for (int i = 0; i < fModules; i++) {
     GetPedProfileLowGain(i)->Reset();
     GetPedProfileHighGain(i)->Reset();
@@ -213,6 +253,7 @@ void AliCaloCalibPedestal::Reset()
 //_____________________________________________________________________
 Bool_t AliCaloCalibPedestal::ProcessEvent(AliCaloRawStream *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->SetOldRCUFormat(kTRUE);
@@ -330,6 +371,7 @@ Bool_t AliCaloCalibPedestal::LoadReferenceCalib(TString fileName, TString object
 //_____________________________________________________________________
 void AliCaloCalibPedestal::ValidateComparisonProfiles()
 {
+  //Make sure the comparison histos exist
   if (!fPedestalLowGainDiff.IsEmpty()) return; //The profiles already exist. We just check one, because they're all created at
   //the same time
                                                
@@ -415,7 +457,7 @@ void AliCaloCalibPedestal::ValidateComparisonProfiles()
 //_____________________________________________________________________
 void AliCaloCalibPedestal::ComputeDiffAndRatio()
 {
+  // calculate differences and ratios relative to a reference
   ValidateComparisonProfiles();//Make sure the comparison histos exist
  
   if (!fReference) {
@@ -460,7 +502,8 @@ void AliCaloCalibPedestal::ComputeDiffAndRatio()
 
 //_____________________________________________________________________
 void AliCaloCalibPedestal::ComputeDeadTowers(int threshold, const char * deadMapFile)
-{//Computes the number of dead towers etc etc into memory, after this you can call the GetDead... -functions
+{
+  //Computes the number of dead towers etc etc into memory, after this you can call the GetDead... -functions
   int countTot = 0;
   int countNew = 0;
   int countRes = 0;
index e26e811..f146b07 100644 (file)
@@ -1,27 +1,32 @@
 #ifndef ALICALOCALIBPEDESTAL_H
 #define ALICALOCALIBPEDESTAL_H
 
-/* \file AliCaloCalibPedestal.h
-   \brief Description:
-   A help class for monitoring and calibration tools: MOOD, AMORE etc.,
-   that can process events from a standard AliCaloRawStream,
-   most usually from LED/pulser runs. It stores signal info as
-   typical (highest) amplitude, and pedestal info in geometrically-binned
-   2D profiles of the detectors (EMCAL and PHOS).
-   Comparisons (ratios and differences) can be done with references.
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-   \author: Timo Alho (Jyvaskyla), original version. 
-   [Consultant: D. Silvermyr (ORNL)]
-   Partly based on AliTPCCalibPedestal.
-   
-   \version $Revision$
-   \date $Date$
-*/
+/* $Id$ */
+
+
+// \file AliCaloCalibPedestal.h
+//   \brief Description:
+//   A help class for monitoring and calibration tools: MOOD, AMORE etc.,
+//   that can process events from a standard AliCaloRawStream,
+//   most usually from LED/pulser runs. It stores signal info as
+//   typical (highest) amplitude, and pedestal info in geometrically-binned
+//   2D profiles of the detectors (EMCAL and PHOS).
+//   Comparisons (ratios and differences) can be done with references.
+
+//   \author: Timo Alho (Jyvaskyla), original version. 
+//   [Consultant: D. Silvermyr (ORNL)]
+//   Partly based on AliTPCCalibPedestal.
+//   
+//   \version $Revision$
+//   \date $Date$
 
 #include "TProfile2D.h"
 #include "TH2.h"
 #include "TObjArray.h"
-#include "AliCaloRawStream.h"
+class AliCaloRawStream;
 
 class AliCaloCalibPedestal : public TObject {
   
@@ -104,10 +109,10 @@ class AliCaloCalibPedestal : public TObject {
   //The histograms. We use a TObjArray instead of a simple array,because this gives automatic streaming properties for the
   //class. A TClonesArray would be more efficient, but it's a bit more difficult to use and it doesn't matter too much
   //since we have only around 12 objects (maximum) in the array anyway.
-  TObjArray fPedestalLowGain;
-  TObjArray fPedestalHighGain;
-  TObjArray fPeakMinusPedLowGain;
-  TObjArray fPeakMinusPedHighGain;
+  TObjArray fPedestalLowGain; // pedestal info for low gain
+  TObjArray fPedestalHighGain; // pedestal info for high gain
+  TObjArray fPeakMinusPedLowGain; // (peak-pedestal) info for low gain
+  TObjArray fPeakMinusPedHighGain; // (peak-pedestal) info for high gain
   
   //The difference of profiles between this and the reference object
   TObjArray fPedestalLowGainDiff; //!
@@ -137,19 +142,16 @@ class AliCaloCalibPedestal : public TObject {
   int fRunNumber; //The run number. Needs to be set by the user.
   
   //Constants needed by the class
-  static const int fgkSampleMax = 1023;
-  static const int fgkSampleMin = 0;
+  static const int fgkSampleMax = 1023; // highest possible sample value (10-bit = 0x3ff)
+  static const int fgkSampleMin = 0; // lowest possible sample value 
   
-  static const int fgkPhosRows = 64;
-  static const int fgkPhosCols = 56;
-  static const int fgkPhosModules = 5;
+  static const int fgkPhosRows = 64; // number of rows per module for PHOS
+  static const int fgkPhosCols = 56; // number of columns per module for PHOS
+  static const int fgkPhosModules = 5; // number of modules for PHOS
   
-  static const int fgkEmCalRows = 24;
-  static const int fgkEmCalCols = 48;
-  static const int fgkEmCalModules = 12;
-  
-  
- public:
+  static const int fgkEmCalRows = 24; // number of rows per module for EMCAL
+  static const int fgkEmCalCols = 48; // number of columns per module for EMCAL
+  static const int fgkEmCalModules = 12; // number of modules for EMCAL
   
   ClassDef(AliCaloCalibPedestal,1)