Disabling default rootification of MUON HLT raw data.
authoraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 25 Aug 2010 23:11:42 +0000 (23:11 +0000)
committeraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 25 Aug 2010 23:11:42 +0000 (23:11 +0000)
HLT/MUON/OfflineInterface/AliHLTMUONAgent.cxx
HLT/MUON/OfflineInterface/AliHLTMUONAgent.h

index 6f0639b..93d602d 100644 (file)
@@ -54,6 +54,7 @@ AliHLTMUONAgent AliHLTMUONAgent::fgkInstance;
 AliHLTOUTHandlerChain AliHLTMUONAgent::fgkESDMakerChain("libAliHLTMUON.so chains=dHLT-make-esd");
 AliHLTOUTHandlerChain AliHLTMUONAgent::fgkRootifyDumpChain("libAliHLTMUON.so chains=dHLT-rootify-and-dump");
 Int_t AliHLTMUONAgent::fgMuonModuleLoaded = 0;
+bool AliHLTMUONAgent::fgRunRootifyChain = false;
 
 
 ClassImp(AliHLTMUONAgent);
@@ -507,17 +508,18 @@ int AliHLTMUONAgent::GetHandlerDescription(
                return 1;
        }
        
-       if (dt == AliHLTMUONConstants::TriggerRecordsBlockDataType() or
-           dt == AliHLTMUONConstants::TrigRecsDebugBlockDataType() or
-           dt == AliHLTMUONConstants::RecHitsBlockDataType() or
-           dt == AliHLTMUONConstants::ClusterBlockDataType() or
-           dt == AliHLTMUONConstants::ChannelBlockDataType() or
-           dt == AliHLTMUONConstants::MansoTracksBlockDataType() or
-           dt == AliHLTMUONConstants::MansoCandidatesBlockDataType() or
-           dt == AliHLTMUONConstants::TracksBlockDataType() or
-           dt == AliHLTMUONConstants::SinglesDecisionBlockDataType() or
-           dt == AliHLTMUONConstants::PairsDecisionBlockDataType()
-          )
+       if (fgRunRootifyChain and
+           (dt == AliHLTMUONConstants::TriggerRecordsBlockDataType() or
+            dt == AliHLTMUONConstants::TrigRecsDebugBlockDataType() or
+            dt == AliHLTMUONConstants::RecHitsBlockDataType() or
+            dt == AliHLTMUONConstants::ClusterBlockDataType() or
+            dt == AliHLTMUONConstants::ChannelBlockDataType() or
+            dt == AliHLTMUONConstants::MansoTracksBlockDataType() or
+            dt == AliHLTMUONConstants::MansoCandidatesBlockDataType() or
+            dt == AliHLTMUONConstants::TracksBlockDataType() or
+            dt == AliHLTMUONConstants::SinglesDecisionBlockDataType() or
+            dt == AliHLTMUONConstants::PairsDecisionBlockDataType()
+          ))
        {
                HLTDebug("Indicating we can handle data type = %s and specification"
                        " = 0x%8.8X with dHLT-rootify-and-dump chain",
@@ -557,17 +559,18 @@ AliHLTOUTHandler* AliHLTMUONAgent::GetOutputHandler(
                return &fgkESDMakerChain;
        }
 
-       if (dt == AliHLTMUONConstants::TriggerRecordsBlockDataType() or
-           dt == AliHLTMUONConstants::TrigRecsDebugBlockDataType() or
-           dt == AliHLTMUONConstants::RecHitsBlockDataType() or
-           dt == AliHLTMUONConstants::ClusterBlockDataType() or
-           dt == AliHLTMUONConstants::ChannelBlockDataType() or
-           dt == AliHLTMUONConstants::MansoTracksBlockDataType() or
-           dt == AliHLTMUONConstants::MansoCandidatesBlockDataType() or
-           dt == AliHLTMUONConstants::TracksBlockDataType() or
-           dt == AliHLTMUONConstants::SinglesDecisionBlockDataType() or
-           dt == AliHLTMUONConstants::PairsDecisionBlockDataType()
-          )
+       if (fgRunRootifyChain and
+           (dt == AliHLTMUONConstants::TriggerRecordsBlockDataType() or
+            dt == AliHLTMUONConstants::TrigRecsDebugBlockDataType() or
+            dt == AliHLTMUONConstants::RecHitsBlockDataType() or
+            dt == AliHLTMUONConstants::ClusterBlockDataType() or
+            dt == AliHLTMUONConstants::ChannelBlockDataType() or
+            dt == AliHLTMUONConstants::MansoTracksBlockDataType() or
+            dt == AliHLTMUONConstants::MansoCandidatesBlockDataType() or
+            dt == AliHLTMUONConstants::TracksBlockDataType() or
+            dt == AliHLTMUONConstants::SinglesDecisionBlockDataType() or
+            dt == AliHLTMUONConstants::PairsDecisionBlockDataType()
+          ))
        {
                return &fgkRootifyDumpChain;
        }
index 6c47300..48da26d 100644 (file)
@@ -97,6 +97,20 @@ public:
         */
        static bool IsMuonModuleLoaded();
        
+       /**
+        * \returns the flag indicating if the dHLT-rootify-and-dump chain should
+        *    be run as a HLTOUT handler during reconstruction. The default is not
+        *    to run this chain. The chain is used to convert HLT raw data blocks
+        *    into ROOT objects, typically useful for testing and debugging.
+        */
+       static bool RunRootifyChain() { return fgRunRootifyChain; }
+       
+       /**
+        * Sets the flag indicating if the dHLT-rootify-and-dump chain should be
+        * run during reconstruction.
+        */
+       static void RunRootifyChain(bool value) { fgRunRootifyChain = value; }
+       
 private:
        // The following instance is used for automatic agent and component registration.
        static AliHLTMUONAgent fgkInstance;  ///< The single global instance of the dimuon HLT agent.
@@ -105,6 +119,7 @@ private:
        static AliHLTOUTHandlerChain  fgkRootifyDumpChain;  ///< Chain handler for converting dHLT raw data to ROOT objects and dumping to file.
 
        static Int_t fgMuonModuleLoaded; ///< Cached flag for indicating if the MUON module was loaded for a simulation.
+       static bool fgRunRootifyChain; // Indicates if the dHLT-rootify-and-dump chain should be run.
 
        ClassDef(AliHLTMUONAgent, 0); // Dimuon HLT module agent which handles processing configurations.
 };