]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add histogram utilities class, correct package definitions
authorjklay <jklay@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Feb 2006 21:55:11 +0000 (21:55 +0000)
committerjklay <jklay@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Feb 2006 21:55:11 +0000 (21:55 +0000)
EMCAL/AliEMCALDigitizer.cxx
EMCAL/AliEMCALHistoUtilities.cxx [new file with mode: 0644]
EMCAL/AliEMCALHistoUtilities.h [new file with mode: 0644]
EMCAL/AliEMCALSDigitizer.cxx
EMCAL/EMCALLinkDefbase.h
EMCAL/EMCALLinkDefrec.h
EMCAL/EMCALLinkDefsim.h
EMCAL/libEMCALbase.pkg
EMCAL/libEMCALrec.pkg
EMCAL/libEMCALsim.pkg

index 7bfc71b69b4e351fdaf8a3957a444e75f86aa1a8..bb2005b86faea11e0d9c45885f4c8fde47d232ee 100644 (file)
@@ -78,7 +78,7 @@
 #include "AliEMCALSDigitizer.h"
 #include "AliEMCALGeometry.h"
 #include "AliEMCALTick.h"
-#include "AliEMCALJetMicroDst.h"
+#include "AliEMCALHistoUtilities.h"
 
 ClassImp(AliEMCALDigitizer)
 
@@ -341,7 +341,7 @@ void AliEMCALDigitizer::Digitize(Int_t event)
   digits->Expand(ndigits) ;
   
   //Set indexes in list of digits and fill hists.
-  sv::FillH1(fHists, 0, Double_t(ndigits));
+  AliEMCALHistoUtilities::FillH1(fHists, 0, Double_t(ndigits));
   Float_t energy=0., esum=0.;
   for (i = 0 ; i < ndigits ; i++) { 
     digit = dynamic_cast<AliEMCALDigit *>( digits->At(i) ) ; 
@@ -349,11 +349,11 @@ void AliEMCALDigitizer::Digitize(Int_t event)
     energy = sDigitizer->Calibrate(digit->GetAmp()) ;
     esum += energy;
     digit->SetAmp(DigitizeEnergy(energy) ) ; // for what ??
-    sv::FillH1(fHists, 2, double(digit->GetAmp()));
-    sv::FillH1(fHists, 3, double(energy));
-    sv::FillH1(fHists, 4, double(digit->GetId()));
+    AliEMCALHistoUtilities::FillH1(fHists, 2, double(digit->GetAmp()));
+    AliEMCALHistoUtilities::FillH1(fHists, 3, double(energy));
+    AliEMCALHistoUtilities::FillH1(fHists, 4, double(digit->GetId()));
   }
-  sv::FillH1(fHists, 1, esum);
+  AliEMCALHistoUtilities::FillH1(fHists, 1, esum);
 }
 
 //____________________________________________________________________________
@@ -725,12 +725,12 @@ TList *AliEMCALDigitizer::BookControlHists(int var)
     new TH1F("hDigiAbsId","EMCAL absId cells with fAmp > fDigitThreshold ",
     geom->GetNCells(), 0.5, Double_t(geom->GetNCells())+0.5);
   }
-  fHists = sv::MoveHistsToList("EmcalDigiControlHists", kFALSE);
+  fHists = AliEMCALHistoUtilities::MoveHistsToList("EmcalDigiControlHists", kFALSE);
   fHists = 0;
   return fHists;
 }
 
 void AliEMCALDigitizer::SaveHists(const char* name, Bool_t kSingleKey, const char* opt)
 {
-  sv::SaveListOfHists(fHists, name, kSingleKey, opt); 
+  AliEMCALHistoUtilities::SaveListOfHists(fHists, name, kSingleKey, opt); 
 }
diff --git a/EMCAL/AliEMCALHistoUtilities.cxx b/EMCAL/AliEMCALHistoUtilities.cxx
new file mode 100644 (file)
index 0000000..86cf7b8
--- /dev/null
@@ -0,0 +1,136 @@
+/**************************************************************************
+ * Copyright(c) 1998-2002, 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.                  *
+ **************************************************************************/
+
+/*
+$Log$
+*/
+
+//*-- Authors: J.L. Klay (LLNL) & Aleksei Pavlinov (WSU) 
+
+//*
+
+#include <TBrowser.h>
+#include <TFile.h>
+#include <TList.h>
+#include <TH1.h>
+#include <TH2.h>
+#include <TROOT.h>
+#include <TString.h>
+
+#include "AliEMCALHistoUtilities.h"
+
+ClassImp(AliEMCALHistoUtilities)
+
+AliEMCALHistoUtilities::AliEMCALHistoUtilities(const char *name, const char *tit) : TNamed(name,tit)
+{
+       //constructor
+  fDebug = 0;
+  gROOT->cd();
+  fListHist = MoveHistsToList("Hist For AliEMCALHistoUtilities", kFALSE); 
+}
+
+AliEMCALHistoUtilities::~AliEMCALHistoUtilities()
+{
+       //destructor
+}  
+
+void AliEMCALHistoUtilities::Browse(TBrowser* b) const 
+{
+  // Browse
+   if(fListHist)  b->Add((TObject*)fListHist);
+   //   TObject::Browse(b);
+}
+
+Bool_t  AliEMCALHistoUtilities::IsFolder() const
+{
+  // Is folder
+  if(fListHist) return kTRUE;
+  else                   return kFALSE;
+}
+
+TList* AliEMCALHistoUtilities::MoveHistsToList(const char* name, Bool_t putToBrowser)
+{
+  // Move HIST to list
+  gROOT->cd();
+  TIter nextHist(gDirectory->GetList());
+  TList *list = new TList;
+  list->SetName(name);
+  TObject *objHist;
+  while((objHist=nextHist())){
+    if (!objHist->InheritsFrom("TH1")) continue;
+    ((TH1*)objHist)->SetDirectory(0); // Remove from gROOT
+    list->Add(objHist);
+  }
+  if(putToBrowser) gROOT->GetListOfBrowsables()->Add((TObject*)list);
+  return list;
+}
+
+void AliEMCALHistoUtilities::FillH1(TList *l, Int_t ind, Double_t x, Double_t w)
+{
+  static TH1* hid=0;
+  if(l == 0) return;
+  if(ind < l->GetSize()){
+    hid = (TH1*)l->At(ind);
+    hid->Fill(x,w);
+  }
+}
+
+void AliEMCALHistoUtilities::FillH2(TList *l, Int_t ind, Double_t x, Double_t y, Double_t w)
+{
+  static TH2* hid=0;
+  if(l == 0) return;
+  if(ind < l->GetSize()){
+    hid = (TH2*)l->At(ind);
+    hid->Fill(x,y,w);
+  }
+}
+
+int AliEMCALHistoUtilities::SaveListOfHists(TList *list,const char* name,Bool_t kSingleKey,const char* opt)
+{
+  printf(" Name of out file |%s|\n", name); 
+  int save = 0;
+  if(list && list->GetSize() && strlen(name)){
+    TString nf(name); 
+    if(nf.Contains(".root") == kFALSE) nf += ".root";
+    TFile file(nf.Data(),opt);
+    TIter nextHist(list);
+    TObject* objHist=0;
+    int nh=0;
+    if(kSingleKey) {
+       file.cd();
+       list->Write(list->GetName(),TObject::kSingleKey);
+       list->ls();
+       save = 1;
+    } else {
+      while((objHist=nextHist())) { // loop over list 
+        if(objHist->InheritsFrom("TH1")) {
+          TH1* hid = (TH1*)objHist;
+          file.cd();
+          hid->Write();
+          nh++;
+          printf("Save hist. %s \n",hid ->GetName());
+        }
+      }
+      printf("%i hists. save to file -> %s\n", nh,file.GetName());
+      if(nh>0) save = 1;
+    }
+    file.Close();
+  } else {
+    printf("AliEMCALHistoUtilities::SaveListOfHists : N O  S A V I N G \n");
+    if(list==0) printf("List of object 0 : %p \n", list);
+    else printf("Size of list %i \n", list->GetSize());
+  }
+  return save;
+}
diff --git a/EMCAL/AliEMCALHistoUtilities.h b/EMCAL/AliEMCALHistoUtilities.h
new file mode 100644 (file)
index 0000000..dbca48e
--- /dev/null
@@ -0,0 +1,46 @@
+#ifndef AliEMCALHistoUtilities_H
+#define AliEMCALHistoUtilities_H
+/* Copyright(c) 1998-2002, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice     */
+
+/* $Id$ */
+
+//_________________________________________________________________________
+//                  
+//*-- Authors: J.L. Klay (LLNL) & Aleksei Pavlinov (WSU)
+
+#include <TNamed.h>
+class TList;
+class TBrowser;
+
+class AliEMCALHistoUtilities: public TNamed {
+  public:
+  AliEMCALHistoUtilities(const char *name="emcalHistoUtilities",
+  const char *tit="Histogram Utilities methods for EMCAL");
+  AliEMCALHistoUtilities(const  AliEMCALHistoUtilities &) : TNamed("", ""){
+    Fatal("cpy ctor", "not implemented") ; }
+  virtual ~AliEMCALHistoUtilities();
+
+  void    SetDebug(Int_t flag) {fDebug = flag;}
+  Float_t GetDebug() const  {return fDebug;}
+  virtual Bool_t  IsFolder() const;
+  virtual void Browse(TBrowser* b) const ;
+
+  // service routine
+  static TList *MoveHistsToList(const char* name="ListOfHists", Bool_t putToBrowser=kTRUE);
+  static void FillH1(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t w=1.);
+  static void FillH2(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t y=-99999., Double_t w=1.);
+  static int  SaveListOfHists(TList *list=0, const char* name="test", Bool_t kSingleKey=kFALSE,
+  const char* opt="RECREATE");
+
+  AliEMCALHistoUtilities & operator = (const AliEMCALHistoUtilities &) {
+    Fatal("operator =", "not implemented") ; return *this ; }
+  
+  private:
+  Int_t   fDebug;      // debug flag
+  TList*  fListHist;    //!
+
+  ClassDef(AliEMCALHistoUtilities,1) // EMCAL Histogram service routines
+};
+
+#endif // AliEMCALHistoUtilities_H
index 103f1c76e6021685c66bfc89a673bfd495d2517f..2d7fb96f0a5bcedf2c929515784263faed33419d 100644 (file)
@@ -67,7 +67,7 @@
 #include "AliEMCALHit.h"
 #include "AliEMCALSDigitizer.h"
 #include "AliEMCALGeometry.h"
-#include "AliEMCALJetMicroDst.h"
+#include "AliEMCALHistoUtilities.h"
 
 ClassImp(AliEMCALSDigitizer)
            
@@ -263,18 +263,18 @@ void AliEMCALSDigitizer::Exec(Option_t *option)
     Int_t nPrimarymax = -1 ; 
     Int_t i ;
     Double_t e=0.,esum=0.;
-    sv::FillH1(fHists, 0, double(sdigits->GetEntriesFast()));
+    AliEMCALHistoUtilities::FillH1(fHists, 0, double(sdigits->GetEntriesFast()));
     for (i = 0 ; i < sdigits->GetEntriesFast() ; i++) { 
       AliEMCALDigit * sdigit = dynamic_cast<AliEMCALDigit *>(sdigits->At(i)) ;
       sdigit->SetIndexInList(i) ;
 
-      sv::FillH1(fHists, 2, double(sdigit->GetAmp()));
+      AliEMCALHistoUtilities::FillH1(fHists, 2, double(sdigit->GetAmp()));
       e = double(Calibrate(sdigit->GetAmp()));
       esum += e;
-      sv::FillH1(fHists, 3, e);
-      sv::FillH1(fHists, 4, double(sdigit->GetId()));
+      AliEMCALHistoUtilities::FillH1(fHists, 3, e);
+      AliEMCALHistoUtilities::FillH1(fHists, 4, double(sdigit->GetId()));
     }
-    if(esum>0.) sv::FillH1(fHists, 1, esum);
+    if(esum>0.) AliEMCALHistoUtilities::FillH1(fHists, 1, esum);
     
     for (i = 0 ; i < sdigits->GetEntriesFast() ; i++) { // for what 
       if (((dynamic_cast<AliEMCALDigit *>(sdigits->At(i)))->GetNprimary()) > nPrimarymax)
@@ -412,12 +412,12 @@ TList *AliEMCALSDigitizer::BookControlHists(int var)
     new TH1F("HSDigiAbsId","EMCAL absID for sdigits",
     geom->GetNCells(), 0.5, Double_t(geom->GetNCells())+0.5);
   }
-  fHists = sv::MoveHistsToList("EmcalSDigiControlHists", kFALSE);
+  fHists = AliEMCALHistoUtilities::MoveHistsToList("EmcalSDigiControlHists", kFALSE);
   fHists = 0;
   return fHists;
 }
 
 void AliEMCALSDigitizer::SaveHists(const char* name, Bool_t kSingleKey, const char* opt)
 {
-  sv::SaveListOfHists(fHists, name, kSingleKey, opt); 
+  AliEMCALHistoUtilities::SaveListOfHists(fHists, name, kSingleKey, opt); 
 }
index b25f33f7ddba20fcf002398114dcf90e8247a717..a8d3d12a419383097955599de9b922e422ef259b 100644 (file)
 #pragma link C++ class AliEMCALv2+;
 #pragma link C++ class AliEMCALHit+;
 #pragma link C++ class AliEMCALLoader+;        
-#pragma link C++ class AliEMCALGeneratorFactory+;
 #pragma link C++ class AliEMCALShishKebabModule+;
 #pragma link C++ class AliEMCALShishKebabTrd1Module+;
 #pragma link C++ class AliEMCALGeometryOfflineTrd1+;
 #pragma link C++ class AliEMCALWsuCosmicRaySetUp+;
-#pragma link C++ class AliEMCALJet+;
-#pragma link C++ class AliEMCALParton+;                
 #pragma link C++ class AliEMCALRecPoint+;
 #pragma link C++ class AliEMCALRawStream+;
 #pragma link C++ class AliEMCALClusterizer+;
+#pragma link C++ class AliEMCALHistoUtilities+;
 #pragma link C++ class AliEMCALSDigitizer+;
 #pragma link C++ class AliEMCALDigitizer+;
 #pragma link C++ class AliEMCALDigit+;
 #pragma link C++ class AliEMCALCalibData+;
 #pragma link C++ class AliEMCALAlignData+;
 
+
 #endif
index 339f1116ea16b74fc2f09d9437a17733a16d52ea..e19f8dcd1bb0d668f372ec2cff26e403f9cb0af0 100644 (file)
@@ -4,29 +4,7 @@
 #pragma link off all classes;
 #pragma link off all functions;
 
-#pragma link C++ enum  AliEMCALJetFinderAlgoBGCalcType_t;
-#pragma link C++ enum  AliEMCALJetFinderResetType_t;
-#pragma link C++ enum  AliEMCALJetFinderTrackType_t;
-#pragma link C++ enum  AliEMCALJetFinderSmearingType_t;
-#pragma link C++ enum  AliEMCALJetFinderEMCALType_t;
-#pragma link C++ enum  AliEMCALJetFinderFileType_t;
-#pragma link C++ enum  AliEMCALJetFinderAlgoUA1UnitFlagType_t;
-#pragma link C++ enum  AliEMCALJetFinderAlgoUA1FillUnitFlagType_t;
-// -
 #pragma link C++ class AliEMCALReconstructor+;
 #pragma link C++ class AliEMCALClusterizerv1+;
-#pragma link C++ class AliEMCALJetFinder+;
-#pragma link C++ class AliEMCALJetFinderInput+;
-#pragma link C++ class AliEMCALJetFinderInputPrep+;
-#pragma link C++ class AliEMCALJetFinderInputSimPrep+;
-#pragma link C++ class AliEMCALJetFinderOutput+;
-#pragma link C++ class AliEMCALJetFinderAlgo+;
-#pragma link C++ class AliEMCALJetFinderAlgoOmni+;
-#pragma link C++ class AliEMCALJetFinderAlgoUA1Unit+;
-#pragma link C++ class AliEMCALJetFinderPlots+;
-#pragma link C++ class AliEMCALJetMicroDst+;
-#pragma link C++ class AliEMCALHadronCorrection+;               
-#pragma link C++ class AliEMCALHadronCorrectionv0+;
-#pragma link C++ class AliEMCALHadronCorrectionv1+;             
 
 #endif
index 1b738ec2c17137e09ad4eca7e292ad7d729adf2e..16f9b636bc7d20faadeee3db17ee55f6eaa6945c 100644 (file)
@@ -5,7 +5,6 @@
 #pragma link off all functions;
 
 #pragma link C++ class AliEMCALTick+;
-#pragma link C++ class AliEMCALFast+;
 #pragma link C++ class AliEMCALTrigger+;
 
 
index 97170db7df58548fc1eb7ed013693b7f2367e6f1..84aa8794aac9027ce2e4d98ab0aa24cb5ccb9002 100644 (file)
@@ -1,5 +1,3 @@
-FSRCS = sgpdge.F
-
 SRCS = \
 AliEMCAL.cxx \
 AliEMCALGeometry.cxx \
@@ -8,16 +6,14 @@ AliEMCALv1.cxx \
 AliEMCALv2.cxx \
 AliEMCALHit.cxx \
 AliEMCALLoader.cxx \
-AliEMCALGeneratorFactory.cxx \
 AliEMCALShishKebabModule.cxx \
 AliEMCALShishKebabTrd1Module.cxx \
 AliEMCALGeometryOfflineTrd1.cxx \
 AliEMCALWsuCosmicRaySetUp.cxx \
-AliEMCALJet.cxx \
-AliEMCALParton.cxx \
 AliEMCALRecPoint.cxx \
 AliEMCALRawStream.cxx \
 AliEMCALClusterizer.cxx \
+AliEMCALHistoUtilities.cxx \
 AliEMCALSDigitizer.cxx \
 AliEMCALDigitizer.cxx \
 AliEMCALDigit.cxx \
index 397538f134cb2313640e932ffb504aa31d470fbc..968ca6dbdffa6cab5f1a855ad86425a3d995505d 100644 (file)
@@ -1,22 +1,7 @@
 # 19-Aug-05 - split from libEMCAL.pkg
-FSRCS = jet_finder_ua1.F
-
 SRCS =\
 AliEMCALReconstructor.cxx \
 AliEMCALClusterizerv1.cxx \
-AliEMCALJetFinder.cxx \
-AliEMCALJetFinderInput.cxx \
-AliEMCALJetFinderInputSimPrep.cxx \
-AliEMCALJetFinderInputPrep.cxx \
-AliEMCALJetFinderOutput.cxx \
-AliEMCALJetFinderAlgo.cxx \
-AliEMCALJetFinderAlgoOmni.cxx \
-AliEMCALJetFinderAlgoUA1Unit.cxx \
-AliEMCALJetFinderPlots.cxx \
-AliEMCALJetMicroDst.cxx \
-AliEMCALHadronCorrection.cxx \
-AliEMCALHadronCorrectionv0.cxx \
-AliEMCALHadronCorrectionv1.cxx 
 
 HDRS= $(SRCS:.cxx=.h) 
 
index 9eeaaf44b2c83c7484476ffe6a153a729b118e7f..fbfd4b7609c40ec14533aafbfad8f8bf218be41e 100644 (file)
@@ -2,7 +2,6 @@
 
 SRCS =\
 AliEMCALTick.cxx \
-AliEMCALFast.cxx \
 AliEMCALTrigger.cxx
 
 HDRS= $(SRCS:.cxx=.h)