]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALAfterBurnerUF.h
Adding afterburner class for unfolding studies at the analysis level (Olga)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALAfterBurnerUF.h
diff --git a/EMCAL/AliEMCALAfterBurnerUF.h b/EMCAL/AliEMCALAfterBurnerUF.h
new file mode 100644 (file)
index 0000000..b3c81ce
--- /dev/null
@@ -0,0 +1,56 @@
+#ifndef ALIEMCALAFTERBURNERUF_H
+#define ALIEMCALAFTERBURNERUF_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//_________________________________________________________________________
+//  After-burner for the EMCAL cluster unfolding algorithm
+//
+//  See cxx for details on how to use it
+//
+//  Author: Olga Driga (SUBATECH)
+//
+
+// --- ROOT system ---
+class TObjArray;
+class TClonesArray;
+
+// --- Standard library ---
+
+// --- AliRoot header files ---
+class AliEMCALGeometry;
+class AliEMCALUnfolding;
+class AliAODCaloCells;
+
+class AliEMCALAfterBurnerUF {
+
+  public:
+    AliEMCALAfterBurnerUF();
+    AliEMCALAfterBurnerUF(Float_t logWeight, Float_t ECALocMaxCut);
+    virtual ~AliEMCALAfterBurnerUF();
+
+  private:
+    AliEMCALAfterBurnerUF(const AliEMCALAfterBurnerUF & uf) ; // cpy ctor not needed, put here to avoid compilation warning 
+    AliEMCALAfterBurnerUF & operator = (const AliEMCALAfterBurnerUF & uf) ;//cpy assignment, put here to avoid compilation warning 
+  
+  public:
+    virtual void Init();
+    virtual void RecPoints2Clusters(TObjArray *clusArray);
+    virtual void UnfoldClusters(TObjArray *clusArray, AliAODCaloCells *cellsEMCAL);  // does the job
+
+    // getters and setters
+    virtual AliEMCALUnfolding *GetClusterUnfoldingInstance() { return fClusterUnfolding; }
+
+  protected:
+    AliEMCALGeometry  *fGeom;          // EMCAL geometry
+    Float_t            fLogWeight;     // used in AliEMCALRecPoint::EvalGlobalPosition()
+    Float_t            fECALocMaxCut;  // this amount of energy must distinguish a local maximum from its neighbours
+    TObjArray         *fRecPoints;     // cluster <=> recPoint
+    TClonesArray      *fDigitsArr;     // cell <=> digit
+
+    AliEMCALUnfolding *fClusterUnfolding;  // unfolding class instance
+
+    ClassDef(AliEMCALAfterBurnerUF,1)
+} ;
+
+#endif // AliEMCALAFTERBURNERUF_H