]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALClusterizerv1.cxx
changes to cope with effC++
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizerv1.cxx
index 1a4475026816b75509a8f2eef9d341b45890bfb0..700aacc0857cdd5303d3247f992dad84bc3201de 100644 (file)
 
 // --- ROOT system ---
 
-#include <TROOT.h>
+class TROOT;
 #include <TH1.h>
 #include <TFile.h> 
-#include <TFolder.h> 
+class TFolder;
 #include <TMath.h> 
 #include <TMinuit.h>
 #include <TTree.h> 
-#include <TSystem.h> 
+class TSystem; 
 #include <TBenchmark.h>
 #include <TBrowser.h>
+
 // --- Standard library ---
 
 
 // --- AliRoot header files ---
 #include "AliRunLoader.h"
 #include "AliRun.h"
+#include "AliESD.h"
 #include "AliEMCALLoader.h"
 #include "AliEMCALClusterizerv1.h"
 #include "AliEMCALRecPoint.h"
 #include "AliEMCALGeometry.h"
 #include "AliEMCALHistoUtilities.h"
 #include "AliCDBManager.h"
-#include "AliCDBStorage.h"
+
+class AliCDBStorage;
 #include "AliCDBEntry.h"
 
 ClassImp(AliEMCALClusterizerv1)
 
 //____________________________________________________________________________
-  AliEMCALClusterizerv1::AliEMCALClusterizerv1() : AliEMCALClusterizer()
+AliEMCALClusterizerv1::AliEMCALClusterizerv1() 
+  : AliEMCALClusterizer(),
+    fHists(0),fPointE(0),fPointL1(0),fPointL2(0),
+    fPointDis(0),fPointMult(0),fDigitAmp(0),fMaxE(0),
+    fMaxL1(0),fMaxL2(0),fMaxDis(0),fGeom(0),
+    fDefaultInit(kTRUE),
+    fToUnfold(kFALSE),
+    fNumberOfECAClusters(0),fNTowerInGroup(0),fCalibData(0),
+    fADCchannelECA(0.),fADCpedestalECA(0.),fECAClusteringThreshold(0.),fECALocMaxCut(0.),
+    fECAW0(0.),fRecPointsInRun(0),fTimeGate(0.),fMinECut(0.)
 {
   // default ctor (to be used mainly by Streamer)
   
   InitParameters() ; 
-  fDefaultInit = kTRUE ;
   fGeom = AliEMCALGeometry::GetInstance();
   fGeom->GetTransformationForSM(); // Global <-> Local
 }
 
 //____________________________________________________________________________
 AliEMCALClusterizerv1::AliEMCALClusterizerv1(const TString alirunFileName, const TString eventFolderName)
-:AliEMCALClusterizer(alirunFileName, eventFolderName)
+  : AliEMCALClusterizer(alirunFileName, eventFolderName),
+    fHists(0),fPointE(0),fPointL1(0),fPointL2(0),
+    fPointDis(0),fPointMult(0),fDigitAmp(0),fMaxE(0),
+    fMaxL1(0),fMaxL2(0),fMaxDis(0),fGeom(0),
+    fDefaultInit(kFALSE),
+    fToUnfold(kFALSE),
+    fNumberOfECAClusters(0),fNTowerInGroup(0),fCalibData(0),
+    fADCchannelECA(0.),fADCpedestalECA(0.),fECAClusteringThreshold(0.),fECALocMaxCut(0.),
+    fECAW0(0.),fRecPointsInRun(0),fTimeGate(0.),fMinECut(0.)
 {
   // ctor with the indication of the file where header Tree and digits Tree are stored
   
   InitParameters() ; 
   Init() ;
-  fDefaultInit = kFALSE ; 
+}
+
+//____________________________________________________________________________
+AliEMCALClusterizerv1::AliEMCALClusterizerv1(const AliEMCALClusterizerv1& clus)
+  : AliEMCALClusterizer(clus),
+    fHists(clus.fHists),
+    fPointE(clus.fPointE),
+    fPointL1(clus.fPointL1),
+    fPointL2(clus.fPointL2),
+    fPointDis(clus.fPointDis),
+    fPointMult(clus.fPointMult),
+    fDigitAmp(clus.fDigitAmp),
+    fMaxE(clus.fMaxE),
+    fMaxL1(clus.fMaxL1),
+    fMaxL2(clus.fMaxL2),
+    fMaxDis(clus.fMaxDis),
+    fGeom(clus.fGeom),
+    fDefaultInit(clus.fDefaultInit),
+    fToUnfold(clus.fToUnfold),
+    fNumberOfECAClusters(clus.fNumberOfECAClusters),
+    fNTowerInGroup(clus.fNTowerInGroup),
+    fCalibData(clus.fCalibData),
+    fADCchannelECA(clus.fADCchannelECA),
+    fADCpedestalECA(clus.fADCpedestalECA),
+    fECAClusteringThreshold(clus.fECAClusteringThreshold),
+    fECALocMaxCut(clus.fECALocMaxCut),
+    fECAW0(clus.fECAW0),
+    fRecPointsInRun(clus.fRecPointsInRun),
+    fTimeGate(clus.fTimeGate),
+    fMinECut(clus.fMinECut)
+{
+  //copy ctor
 }
 
 //____________________________________________________________________________
@@ -248,11 +298,12 @@ Bool_t AliEMCALClusterizerv1::FindFit(AliEMCALRecPoint * emcRP, AliEMCALDigit **
   for(iDigit = 0; iDigit < nDigits; iDigit++){
     digit = maxAt[iDigit]; 
 
-    Int_t relid[2] ;
     Float_t x = 0.;
     Float_t z = 0.;
-    fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
-    fGeom->PosInAlice(relid, x, z) ;
+    //   have to be tune for TRD1; May 31,06
+    //   Int_t relid[2] ;
+    //   fGeom->AbsToRelNumbering(digit->GetId(), relid) ; // obsolete method
+    //   fGeom->PosInAlice(relid, x, z) ;                  // obsolete method
 
     Float_t energy = maxAtEnergy[iDigit] ;
 
@@ -552,7 +603,7 @@ void AliEMCALClusterizerv1::MakeClusters(char* option)
        recPoint = dynamic_cast<AliEMCALRecPoint *>(aECARecPoints->At(fNumberOfECAClusters)) ; 
        fNumberOfECAClusters++ ; 
 
-       recPoint->SetClusterType(AliEMCALRecPoint::kPseudoCluster);
+       recPoint->SetClusterType(AliESDCaloCluster::kPseudoCluster);
 
        recPoint->AddDigit(*digit, digit->GetAmp()) ; 
        clusterECAdigitslist[iDigitInECACluster] = digit->GetIndexInList() ;    
@@ -589,7 +640,9 @@ void AliEMCALClusterizerv1::MakeClusters(char* option)
        nextdigit.Reset() ;  // will start from beggining
       }
     }
-    if(recPoint) cout << "cl.e " << recPoint->GetEnergy() << endl; 
+    if(recPoint)
+      AliDebug(1,Form("MakeClusters: cl.e %f \n", recPoint->GetEnergy())); 
+    //if(recPoint) cout << "cl.e " << recPoint->GetEnergy() << endl; 
     delete digitsC ;
   }
 
@@ -611,9 +664,11 @@ void AliEMCALClusterizerv1::MakeClusters(char* option)
     AliEMCALHistoUtilities::FillH1(fHists, 11, e);
     if(e < fMinECut ) digitsC->Remove(digit);
     else              ehs += e;
-  }  
-  cout << " Number of digits " << digits->GetEntries() << " -> (e>" <<fMinECut <<")";
-  cout << digitsC->GetEntries()<< " ehs "<<ehs<<endl; 
+  } 
+  AliDebug(1,Form("MakeClusters: Number of digits %d  -> (e %f), ehs %d\n",
+                 digits->GetEntries(),fMinECut,ehs));
+  //cout << " Number of digits " << digits->GetEntries() << " -> (e>" <<fMinECut <<")";
+  //cout << digitsC->GetEntries()<< " ehs "<<ehs<<endl; 
 
   // Clusterization starts    
   //  cout << "Outer Loop" << endl;
@@ -632,7 +687,7 @@ void AliEMCALClusterizerv1::MakeClusters(char* option)
       recPoint = dynamic_cast<AliEMCALRecPoint *>(aECARecPoints->At(fNumberOfECAClusters)) ; 
       fNumberOfECAClusters++ ; 
 
-      recPoint->SetClusterType(AliEMCALRecPoint::kClusterv1);
+      recPoint->SetClusterType(AliESDCaloCluster::kClusterv1);
 
       recPoint->AddDigit(*digit, Calibrate(digit->GetAmp(), digit->GetId())) ; 
       clusterECAdigitslist[iDigitInECACluster] = digit->GetIndexInList() ;     
@@ -667,8 +722,10 @@ void AliEMCALClusterizerv1::MakeClusters(char* option)
       } // scan over digits already in cluster
       nextdigit.Reset() ;  // will start from beggining
     }
-  } // while digit  
-  if(recPoint) cout << "cl.e " << recPoint->GetEnergy() << endl; 
+  } // while digit 
+  if(recPoint)
+    AliDebug(1,Form("MakeClusters: cl.e %f \n", recPoint->GetEnergy())); 
+  //if(recPoint) cout << "cl.e " << recPoint->GetEnergy() << endl; 
   delete digitsC ;
 
   AliDebug(1,Form("total no of clusters %d from %d digits",fNumberOfECAClusters,digits->GetEntriesFast())); 
@@ -820,6 +877,8 @@ void AliEMCALClusterizerv1::PrintRecPoints(Option_t * option)
 }
 TList* AliEMCALClusterizerv1::BookHists()
 {
+  //set up histograms for monitoring clusterizer performance
+
   gROOT->cd();
 
        fPointE = new TH1F("pointE","point energy", 2000, 0.0, 150.);