]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding skeleton classes for prediction preprocessors for dimuon HLT.
authorszostak <szostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 24 Nov 2007 22:00:24 +0000 (22:00 +0000)
committerszostak <szostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 24 Nov 2007 22:00:24 +0000 (22:00 +0000)
HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMCH.cxx [new file with mode: 0644]
HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMCH.h [new file with mode: 0644]
HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMTR.cxx [new file with mode: 0644]
HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMTR.h [new file with mode: 0644]

diff --git a/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMCH.cxx b/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMCH.cxx
new file mode 100644 (file)
index 0000000..b4c9286
--- /dev/null
@@ -0,0 +1,110 @@
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project        * 
+ * All rights reserved.                                                   *
+ *                                                                        *
+ * Primary Authors:                                                       *
+ *   Artur Szostak <artursz@iafrica.com>                                  *
+ *                                                                        *
+ * 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.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+///
+///  @file   AliHLTPredictionProcessorMCH.cxx
+///  @author Artur Szostak <artursz@iafrica.com>
+///  @date   
+///  @brief  Implementation of the AliHLTPredictionProcessorMCH class.
+///
+
+#include "AliHLTPredictionProcessorMCH.h"
+#include "AliCDBMetaData.h"
+#include "AliCDBEntry.h"
+#include <cstdlib>
+
+ClassImp(AliHLTPredictionProcessorMCH);
+
+
+AliHLTPredictionProcessorMCH::AliHLTPredictionProcessorMCH(
+               const char* detector, AliHLTPendolino* pendolino
+       ) :
+       AliHLTPredictionProcessorInterface(detector, pendolino),
+       fPredict(kTRUE)
+{
+       /// The class constructor for the preprocessor.
+       /// @param detector  The detector name, which must be "MCH".
+       /// @param pendolino A valid pointer to the pendolino instance.
+       
+       if (strcmp(detector, "MCH") != 0)
+       {
+               Log(Form("Warning: Setting the detector name to an incorrect value = '%s'."
+                   " It must be set to 'MCH'.", detector)
+               );
+       }
+}
+
+
+AliHLTPredictionProcessorMCH::~AliHLTPredictionProcessorMCH()
+{
+       /// Default destructor.
+}
+
+
+UInt_t AliHLTPredictionProcessorMCH::makePrediction(Bool_t doPrediction)
+{
+       /// This function is called by the Pendolino before the fetched DCS data
+       /// is handed in for (prediction) processing.
+       ///
+       /// @param doPrediction If true then preprocessed data will be extrapolated
+       ///           to the current time. Otherwise no extrapolation will be
+       ///           performed if false. The default is to perform extrapolations.
+       ///
+       /// @return Currently always returns 0 for success.
+
+       fPredict = doPrediction;
+       return 0;
+}
+
+
+void AliHLTPredictionProcessorMCH::Initialize(
+               Int_t run, UInt_t startTime, UInt_t endTime
+       )
+{
+       /// Performs initialisation of the preprocessor.
+       /// At the moment just basic sanity checks are performed.
+       ///
+       /// @param run The current run number.
+       /// @param startTime The start time (earliest timestamp) of the data.
+       /// @param endTime The end time (latest timestamp) of the data.
+       
+       if (startTime > endTime)
+               Log("Error: start time is greater than end time.");
+       
+       AliPreprocessor::Initialize(run, startTime, endTime);
+
+       if (fPredict)
+               Log("Prediction is switched ON.");
+       else
+               Log("Prediction is switched OFF.");
+}
+
+
+UInt_t AliHLTPredictionProcessorMCH::Process(TMap* dcsAliasMap)
+{
+       /// Process the DCS values.
+       /// At the moment nothing is done here.
+       ///
+       /// @param dcsAliasMap The map containing aliases and corresponding DCS
+       ///                    values and timestamps
+       ///
+       /// @return At the moment 0 is always returned for success.
+       
+       Log("Processing MCH");
+       return 0;
+}
diff --git a/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMCH.h b/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMCH.h
new file mode 100644 (file)
index 0000000..abc6948
--- /dev/null
@@ -0,0 +1,98 @@
+#ifndef ALIHLTPREDICTIONPROCESSORMCH_H
+#define ALIHLTPREDICTIONPROCESSORMCH_H
+/* This file is property of and copyright by the ALICE HLT Project        *
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+///
+/// @file   AliHLTPredictionProcessorMCH.h
+/// @author Artur Szostak <artursz@iafrica.com>
+/// @date   2007-11-24
+/// @brief  Declaration of the muon tracking chamber prediction processor.
+///
+
+#include "AliHLTPredictionProcessorInterface.h"
+
+/**
+ * This is the prediction processor for the muon tracking chambers.
+ * It is required as part of the Pendolino interface so that data fetched from
+ * DCS can be transformed and extrapolated into a format suitable for the HCDB.
+ *
+ * At the moment this class does not really do anything, but will fill the
+ * HCDB with data in the future.
+ *
+ * Refer to:
+ * http://wiki.kip.uni-heidelberg.de/ti/HLT/index.php/Pendolino-PredictionProcessor-Interface
+ * for more details about the Pendolino and preprocessor interfaces.
+ */
+class AliHLTPredictionProcessorMCH : public AliHLTPredictionProcessorInterface
+{
+public:
+
+       /**
+        * The class constructor for the preprocessor.
+        * @param detector  The detector name, which must be "MCH".
+        * @param pendolino A valid pointer to the pendolino instance.
+        */
+       AliHLTPredictionProcessorMCH(const char* detector, AliHLTPendolino* pendolino);
+       
+       virtual ~AliHLTPredictionProcessorMCH();
+       
+       // The following methods are inherited from AliHLTPredictionProcessorInterface.
+       
+       /**
+        * This function is called by the Pendolino before the fetched DCS data
+        * is handed in for (prediction) processing.
+        *
+        * @param doPrediction If true then preprocessed data will be extrapolated
+        *           to the current time. Otherwise no extrapolation will be
+        *           performed if false. The default is to perform extrapolations.
+        *
+        * @return Currently always returns 0 for success.
+        */
+       virtual UInt_t makePrediction(Bool_t doPrediction = true);
+
+       /**
+        * Performs initialisation of the preprocessor.
+        * At the moment just basic sanity checks are performed.
+        *
+        * @param run The current run number.
+        * @param startTime The start time (earliest timestamp) of the data.
+        * @param endTime The end time (latest timestamp) of the data.
+        */
+       virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+       /**
+        * Process the DCS values.
+        * At the moment nothing is done here.
+        *
+        * @param dcsAliasMap The map containing aliases and corresponding DCS
+        *                    values and timestamps
+        *
+        * @return At the moment 0 is always returned for success.
+        */
+       virtual UInt_t Process(TMap* dcsAliasMap);
+
+       /**
+        * Indicates that the DCS data shall be processed.
+        * NOTE: should always return true, since it is used as prediction
+        * processor, which will only process DCS data
+        *
+        * @return Always returns the value kTRUE.
+        */
+       virtual Bool_t ProcessDCS() { return kTRUE; };
+       
+private:
+
+       // Do not allow copying of this class.
+       AliHLTPredictionProcessorMCH(const AliHLTPredictionProcessorMCH& /*obj*/);
+       AliHLTPredictionProcessorMCH& operator = (const AliHLTPredictionProcessorMCH& /*obj*/);
+
+       Bool_t fPredict;  //! Flag indicating if the processed values should be extrapolated to current time.
+       
+       ClassDef(AliHLTPredictionProcessorMCH, 0);  // The prediction processor for the muon tracking chambers.
+};
+
+#endif // ALIHLTPREDICTIONPROCESSORMCH_H
diff --git a/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMTR.cxx b/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMTR.cxx
new file mode 100644 (file)
index 0000000..3008713
--- /dev/null
@@ -0,0 +1,110 @@
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project        * 
+ * All rights reserved.                                                   *
+ *                                                                        *
+ * Primary Authors:                                                       *
+ *   Artur Szostak <artursz@iafrica.com>                                  *
+ *                                                                        *
+ * 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.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+///
+///  @file   AliHLTPredictionProcessorMTR.cxx
+///  @author Artur Szostak <artursz@iafrica.com>
+///  @date   
+///  @brief  Implementation of the AliHLTPredictionProcessorMTR class.
+///
+
+#include "AliHLTPredictionProcessorMTR.h"
+#include "AliCDBMetaData.h"
+#include "AliCDBEntry.h"
+#include <cstdlib>
+
+ClassImp(AliHLTPredictionProcessorMTR);
+
+
+AliHLTPredictionProcessorMTR::AliHLTPredictionProcessorMTR(
+               const char* detector, AliHLTPendolino* pendolino
+       ) :
+       AliHLTPredictionProcessorInterface(detector, pendolino),
+       fPredict(kTRUE)
+{
+       /// The class constructor for the preprocessor.
+       /// @param detector  The detector name, which must be "MTR".
+       /// @param pendolino A valid pointer to the pendolino instance.
+       
+       if (strcmp(detector, "MTR") != 0)
+       {
+               Log(Form("Warning: Setting the detector name to an incorrect value = '%s'."
+                   " It must be set to 'MTR'.", detector)
+               );
+       }
+}
+
+
+AliHLTPredictionProcessorMTR::~AliHLTPredictionProcessorMTR()
+{
+       /// Default destructor.
+}
+
+
+UInt_t AliHLTPredictionProcessorMTR::makePrediction(Bool_t doPrediction)
+{
+       /// This function is called by the Pendolino before the fetched DCS data
+       /// is handed in for (prediction) processing.
+       ///
+       /// @param doPrediction If true then preprocessed data will be extrapolated
+       ///           to the current time. Otherwise no extrapolation will be
+       ///           performed if false. The default is to perform extrapolations.
+       ///
+       /// @return Currently always returns 0 for success.
+
+       fPredict = doPrediction;
+       return 0;
+}
+
+
+void AliHLTPredictionProcessorMTR::Initialize(
+               Int_t run, UInt_t startTime, UInt_t endTime
+       )
+{
+       /// Performs initialisation of the preprocessor.
+       /// At the moment just basic sanity checks are performed.
+       ///
+       /// @param run The current run number.
+       /// @param startTime The start time (earliest timestamp) of the data.
+       /// @param endTime The end time (latest timestamp) of the data.
+       
+       if (startTime > endTime)
+               Log("Error: start time is greater than end time.");
+       
+       AliPreprocessor::Initialize(run, startTime, endTime);
+
+       if (fPredict)
+               Log("Prediction is switched ON.");
+       else
+               Log("Prediction is switched OFF.");
+}
+
+
+UInt_t AliHLTPredictionProcessorMTR::Process(TMap* dcsAliasMap)
+{
+       /// Process the DCS values.
+       /// At the moment nothing is done here.
+       ///
+       /// @param dcsAliasMap The map containing aliases and corresponding DCS
+       ///                    values and timestamps
+       ///
+       /// @return At the moment 0 is always returned for success.
+       
+       Log("Processing MTR");
+       return 0;
+}
diff --git a/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMTR.h b/HLT/MUON/OnlineAnalysis/AliHLTPredictionProcessorMTR.h
new file mode 100644 (file)
index 0000000..6873f78
--- /dev/null
@@ -0,0 +1,98 @@
+#ifndef ALIHLTPREDICTIONPROCESSORMTR_H
+#define ALIHLTPREDICTIONPROCESSORMTR_H
+/* This file is property of and copyright by the ALICE HLT Project        *
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+///
+/// @file   AliHLTPredictionProcessorMTR.h
+/// @author Artur Szostak <artursz@iafrica.com>
+/// @date   2007-11-24
+/// @brief  Declaration of the muon trigger prediction processor.
+///
+
+#include "AliHLTPredictionProcessorInterface.h"
+
+/**
+ * This is the prediction processor for the muon trigger detector.
+ * It is required as part of the Pendolino interface so that data fetched from
+ * DCS can be transformed and extrapolated into a format suitable for the HCDB.
+ *
+ * At the moment this class does not really do anything, but will fill the
+ * HCDB with data in the future.
+ *
+ * Refer to:
+ * http://wiki.kip.uni-heidelberg.de/ti/HLT/index.php/Pendolino-PredictionProcessor-Interface
+ * for more details about the Pendolino and preprocessor interfaces.
+ */
+class AliHLTPredictionProcessorMTR : public AliHLTPredictionProcessorInterface
+{
+public:
+
+       /**
+        * The class constructor for the preprocessor.
+        * @param detector  The detector name, which must be "MTR".
+        * @param pendolino A valid pointer to the pendolino instance.
+        */
+       AliHLTPredictionProcessorMTR(const char* detector, AliHLTPendolino* pendolino);
+       
+       virtual ~AliHLTPredictionProcessorMTR();
+       
+       // The following methods are inherited from AliHLTPredictionProcessorInterface.
+       
+       /**
+        * This function is called by the Pendolino before the fetched DCS data
+        * is handed in for (prediction) processing.
+        *
+        * @param doPrediction If true then preprocessed data will be extrapolated
+        *           to the current time. Otherwise no extrapolation will be
+        *           performed if false. The default is to perform extrapolations.
+        *
+        * @return Currently always returns 0 for success.
+        */
+       virtual UInt_t makePrediction(Bool_t doPrediction = true);
+
+       /**
+        * Performs initialisation of the preprocessor.
+        * At the moment just basic sanity checks are performed.
+        *
+        * @param run The current run number.
+        * @param startTime The start time (earliest timestamp) of the data.
+        * @param endTime The end time (latest timestamp) of the data.
+        */
+       virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+       /**
+        * Process the DCS values.
+        * At the moment nothing is done here.
+        *
+        * @param dcsAliasMap The map containing aliases and corresponding DCS
+        *                    values and timestamps
+        *
+        * @return At the moment 0 is always returned for success.
+        */
+       virtual UInt_t Process(TMap* dcsAliasMap);
+
+       /**
+        * Indicates that the DCS data shall be processed.
+        * NOTE: should always return true, since it is used as prediction
+        * processor, which will only process DCS data
+        *
+        * @return Always returns the value kTRUE.
+        */
+       virtual Bool_t ProcessDCS() { return kTRUE; };
+       
+private:
+
+       // Do not allow copying of this class.
+       AliHLTPredictionProcessorMTR(const AliHLTPredictionProcessorMTR& /*obj*/);
+       AliHLTPredictionProcessorMTR& operator = (const AliHLTPredictionProcessorMTR& /*obj*/);
+
+       Bool_t fPredict;  //! Flag indicating if the processed values should be extrapolated to current time.
+       
+       ClassDef(AliHLTPredictionProcessorMTR, 0);  // The prediction processor for the muon trigger detector.
+};
+
+#endif // ALIHLTPREDICTIONPROCESSORMTR_H