In AliMUONDigitMaker:
authorihrivnac <Ivana.Hrivnacova@cern.ch>
Wed, 10 Sep 2014 21:51:21 +0000 (23:51 +0200)
committerihrivnac <Ivana.Hrivnacova@cern.ch>
Wed, 10 Sep 2014 21:54:08 +0000 (23:54 +0200)
Added an option to disable the creation of digits for the tracker.
(Diego)

MUON/AliMUONDigitMaker.cxx
MUON/AliMUONDigitMaker.h

index 0d78f30..b671e1e 100644 (file)
@@ -82,6 +82,7 @@ AliMUONDigitMaker::AliMUONDigitMaker(Bool_t enableErrorLogger, Bool_t a, Bool_t
 TObject(),
 fScalerEvent(kFALSE),
 fMakeTriggerDigits(kFALSE),
+fMakeTrackerDigits(kFALSE),
 fRawStreamTracker(new AliMUONRawStreamTrackerHP),
 fRawStreamTrigger(new AliMUONRawStreamTriggerHP),
 fDigitStore(0x0),
@@ -105,6 +106,7 @@ fLogger(new AliMUONLogger(10000)){
   }
   
   SetMakeTriggerDigits();
+  SetMakeTrackerDigits();
   
   // Load mapping
   if ( ! AliMpCDB::LoadDDLStore() ) {
@@ -117,6 +119,7 @@ AliMUONDigitMaker::AliMUONDigitMaker(Bool_t enableErrorLogger) :
 TObject(),
     fScalerEvent(kFALSE),
     fMakeTriggerDigits(kFALSE),
+    fMakeTrackerDigits(kFALSE),
     fRawStreamTracker(new AliMUONRawStreamTrackerHP),
     fRawStreamTrigger(new AliMUONRawStreamTriggerHP),
     fDigitStore(0x0),
@@ -139,6 +142,7 @@ TObject(),
   }
 
   SetMakeTriggerDigits();
+  SetMakeTrackerDigits();
 
   // Load mapping
   if ( ! AliMpCDB::LoadDDLStore() ) {
@@ -197,10 +201,11 @@ AliMUONDigitMaker::Raw2Digits(AliRawReader* rawReader,
   Int_t tracker(kOK);
   Int_t trigger(kOK);
   
-  if ( fDigitStore ) 
-  {
-    fDigitStore->Clear(); // insure we start with an empty container
-    tracker = ReadTrackerDDL(rawReader);
+  if ( fDigitStore ) fDigitStore->Clear(); // insure we start with an empty container
+
+  if ( fMakeTrackerDigits ) {
+    if ( fDigitStore ) tracker = ReadTrackerDDL(rawReader);
+    else fLogger->Log("Asking for tracker digits but digitStore is null");
   }
   
   if ( fTriggerStore || fMakeTriggerDigits ) 
index 8624d4d..f9ce2de 100644 (file)
@@ -63,6 +63,9 @@ class AliMUONDigitMaker : public TObject
         /// Set flag whether or not we should generate digits for the trigger
   void  SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; }
 
+  /// Set flag whether or not we should generate digits for the tracker
+  void  SetMakeTrackerDigits(Bool_t flag = kTRUE) { fMakeTrackerDigits = flag; }
+
   /// Return the raw stream object which decodes DDL raw data from tracking stations.
   AliMUONRawStreamTrackerHP* GetRawStreamTracker() const { return fRawStreamTracker; }
 
@@ -83,6 +86,7 @@ private:
 private:
   Bool_t fScalerEvent;       //!< flag to generates scaler event
   Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger
+  Bool_t fMakeTrackerDigits; //!< whether or not we should generate digits for the tracker
   
   AliMUONRawStreamTrackerHP* fRawStreamTracker; //!< pointer of raw stream for tracker
   AliMUONRawStreamTriggerHP* fRawStreamTrigger;  //!< pointer of raw stream for trigger
@@ -92,7 +96,7 @@ private:
 
   AliMUONLogger* fLogger; //!< to log messages
   
-  ClassDef(AliMUONDigitMaker,7) // MUON digit maker from rawdata
+  ClassDef(AliMUONDigitMaker,8) // MUON digit maker from rawdata
 };
        
 #endif