]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONVTrackerData.h
Flexible pt range for the efficiency histogramming
[u/mrichter/AliRoot.git] / MUON / AliMUONVTrackerData.h
index 469822e8ee56d2b27266d5cfa3710aad3ba1061b..0db212b99ddcaae45e01f56b9b1d08f99d22b4c1 100644 (file)
@@ -26,6 +26,7 @@
 class AliMUONSparseHisto;
 class AliMUONVStore;
 class TCollection;
+class TArrayI;
 
 class AliMUONVTrackerData : public TNamed, public TQObject
 {
@@ -36,7 +37,7 @@ public:
   virtual ~AliMUONVTrackerData();
   
   /// Add values for one event from one full store
-  virtual Bool_t Add(const AliMUONVStore& store) = 0;
+  virtual Bool_t Add(const AliMUONVStore& store, TArrayI* arrayOfNofEventsPerDDL=0x0) = 0;
 
   /// Replace values
   virtual Bool_t Replace(const AliMUONVStore& store) = 0;
@@ -99,8 +100,10 @@ public:
   /// The number of dimensions we are inputting
   virtual Int_t ExternalDimension() const = 0;
 
-  /// The number of events we've seen so far
-  virtual Int_t NumberOfEvents() const = 0;
+  /** The number of events we've seen so far in a given DDL (or any DDL if param<0)
+   ddlNumber is 0..19
+   */
+  virtual Int_t NumberOfEvents(Int_t ddlNumber) const = 0;
 
   /// Signal to indicate that the number of events changed
   virtual void NumberOfEventsChanged(); // *SIGNAL*
@@ -137,6 +140,10 @@ public:
   virtual AliMUONSparseHisto* GetChannelSparseHisto(Int_t detElemId, Int_t manuId, 
                                                     Int_t manuChannel, Int_t dim=0) const = 0;
 
+  /// Get sparse histogram for a given manu (valid only if IsChannelLevelEnabled()==kFALSE and IsManuLevelEnabled()==kTRUE)
+  virtual AliMUONSparseHisto* GetManuSparseHisto(Int_t detElemId, Int_t manuId, 
+                                                 Int_t dim=0) const = 0;
+  
   /// To allow merging of different objects
   virtual Long64_t Merge(TCollection* list) = 0;
 
@@ -145,7 +152,19 @@ public:
        
        /// Whether we store values at the channel level
        virtual Bool_t IsChannelLevelEnabled() const = 0;
+
+  /// Disable recording of information at the manu level (and below)
+       virtual void DisableManuLevel() = 0;
        
+       /// Whether we store values at the channel level
+       virtual Bool_t IsManuLevelEnabled() const = 0;
+  
+  /// Whether we store values at the bus patch level or not
+  virtual Bool_t IsBusPatchLevelEnabled() const = 0;
+  
+  /// Whether we store values at the PCB level or not
+  virtual Bool_t IsPCBLevelEnabled() const = 0;
+  
 private:
   /// not implemented
   AliMUONVTrackerData(const AliMUONVTrackerData& rhs);