- added argument for selecting the output size (-output-size) and respective OCDB...
authorkkanaki <kkanaki@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Mar 2010 13:45:36 +0000 (13:45 +0000)
committerkkanaki <kkanaki@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Mar 2010 13:45:36 +0000 (13:45 +0000)
HLT/TPCLib/calibration/AliHLTTPCCalibTimeComponent.cxx
HLT/TPCLib/calibration/AliHLTTPCCalibTimeComponent.h
OCDB/HLT/ConfigTPC/TPCCalibTime/Run0_999999999_v0_s0.root [new file with mode: 0644]

index f243a18..207b04c 100644 (file)
@@ -62,12 +62,13 @@ ClassImp(AliHLTTPCCalibTimeComponent) // ROOT macro for the implementation of RO
 
 AliHLTTPCCalibTimeComponent::AliHLTTPCCalibTimeComponent()
   :
-  fCalibTime(NULL),
-  fCal(NULL),
-  fESDevent(NULL),
-  fESDtrack(NULL),
-  fESDfriend(NULL),
-  fSeedArray(NULL)
+   fCalibTime(NULL)
+  ,fCal(NULL)
+  ,fESDevent(NULL)
+  ,fESDtrack(NULL)
+  ,fESDfriend(NULL)
+  ,fSeedArray(NULL)
+  ,fOutputSize(50000)
 {
   // see header file for class documentation
   // or
@@ -76,6 +77,8 @@ AliHLTTPCCalibTimeComponent::AliHLTTPCCalibTimeComponent()
   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
 }
 
+const char* AliHLTTPCCalibTimeComponent::fgkOCDBEntry="HLT/ConfigTPC/TPCCalibTime";
+
 AliHLTTPCCalibTimeComponent::~AliHLTTPCCalibTimeComponent() {
 // see header file for class documentation
 }
@@ -104,8 +107,8 @@ AliHLTComponentDataType AliHLTTPCCalibTimeComponent::GetOutputDataType() {
 void AliHLTTPCCalibTimeComponent::GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) {
 // see header file for class documentation
 
-  constBase = 50000;
-  inputMultiplier = (2.0); // to be estimated
+  constBase = fOutputSize;
+  inputMultiplier = 0; // to be estimated
 }
 
 AliHLTComponent* AliHLTTPCCalibTimeComponent::Spawn() {
@@ -115,10 +118,21 @@ AliHLTComponent* AliHLTTPCCalibTimeComponent::Spawn() {
 }  
 
 
-Int_t AliHLTTPCCalibTimeComponent::ScanArgument( Int_t /*argc*/, const char** /*argv*/ ) {
+Int_t AliHLTTPCCalibTimeComponent::ScanConfigurationArgument( Int_t argc, const char** argv ) {
 // see header file for class documentation
-    
-  return 0;
+  if (argc<=0) return 0;
+  int i=0;
+  TString argument=argv[i];
+
+  // -output-size
+  if (argument.CompareTo("-output-size")==0) {
+    if (++i>=argc) return -EPROTO;
+    argument=argv[i];
+    fOutputSize=argument.Atof();
+    return 2;
+  }
+  return -EINVAL;
 }
 
 Int_t AliHLTTPCCalibTimeComponent::InitCalibration() {
@@ -127,6 +141,7 @@ Int_t AliHLTTPCCalibTimeComponent::InitCalibration() {
   //AliTPCcalibDB::Instance()->SetRun(84714);
   AliTPCcalibDB::Instance()->SetRun(AliHLTMisc::Instance().GetCDBRunNo());
   AliTPCcalibDB::Instance()->GetClusterParam()->SetInstance(AliTPCcalibDB::Instance()->GetClusterParam());
+  
 
 //   AliTPCcalibDB *calib = AliTPCcalibDB::Instance();
 // 
@@ -140,11 +155,19 @@ Int_t AliHLTTPCCalibTimeComponent::InitCalibration() {
 //     HLTError("OCDB entry TPC/Calib/ClusterParam (AliTPCcalibDB::GetClusterParam()) is not available.");
 //     return -ENOENT;
 //   }
-  
+
+  // first configure the default
+  int iResult=0;
+  if (iResult>=0) iResult=ConfigureFromCDBTObjString(fgkOCDBEntry);
+
+  // configure from the command line parameters if specified
+  //if (iResult>=0 && argc>0)  iResult=ConfigureFromArgumentString(argc, argv);
+    
   if(fCalibTime) return EINPROGRESS;
   fCal = new AliTPCcalibCalib();
   
-  return 0;
+  return iResult;
 }
 
 Int_t AliHLTTPCCalibTimeComponent::DeinitCalibration() {
@@ -157,6 +180,18 @@ Int_t AliHLTTPCCalibTimeComponent::DeinitCalibration() {
   return 0;
 }
 
+int AliHLTTPCCalibTimeComponent::Reconfigure(const char* cdbEntry, const char* /*chainId*/){
+// see header file for class documentation
+
+  // configure from the specified antry or the default one
+  const char* entry=cdbEntry;
+  if (!entry || entry[0]==0) {
+     entry=fgkOCDBEntry;
+  }
+
+  return ConfigureFromCDBTObjString(entry);
+}
+
 Int_t AliHLTTPCCalibTimeComponent::ProcessCalibration( const AliHLTComponentEventData& /*evtData*/,  AliHLTComponentTriggerData& /*trigData*/ ){
 // see header file for class documentation
 
index d5963e4..cd4efdc 100644 (file)
@@ -71,13 +71,16 @@ class AliHLTTPCCalibTimeComponent : public AliHLTCalibrationProcessor
       Int_t InitCalibration();
 
       /** Scan commandline arguments of the calibration component */
-      Int_t ScanArgument( Int_t argc, const char** argv );
+      Int_t ScanConfigurationArgument( Int_t argc, const char** argv );
 
       /** Clean up memory at the end of the run */
       Int_t DeinitCalibration();
 
       /** Process the data in the calibration component, called once per event */
       Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
+      
+      /** inherited from AliHLTComponent: handle re-configuration event */
+      int Reconfigure(const char* cdbEntry, const char* chainId);
 
       /** Ship the data to the FXS at end of run or event modulo (the first by default, the latter to be implemented if necessary). */
       Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
@@ -96,7 +99,11 @@ class AliHLTTPCCalibTimeComponent : public AliHLTCalibrationProcessor
       AliESDtrack      *fESDtrack;  //!transient
       AliESDfriend     *fESDfriend; //!transient
       TObjArray        *fSeedArray; //!transient
+      AliHLTUInt32_t    fOutputSize; // output size
       
-      ClassDef(AliHLTTPCCalibTimeComponent, 3)
+      /** the default configuration entry for this component */
+      static const char* fgkOCDBEntry; //!transient
+
+      ClassDef(AliHLTTPCCalibTimeComponent, 4)
     };
 #endif
diff --git a/OCDB/HLT/ConfigTPC/TPCCalibTime/Run0_999999999_v0_s0.root b/OCDB/HLT/ConfigTPC/TPCCalibTime/Run0_999999999_v0_s0.root
new file mode 100644 (file)
index 0000000..6a92c07
Binary files /dev/null and b/OCDB/HLT/ConfigTPC/TPCCalibTime/Run0_999999999_v0_s0.root differ