//_____________________________________________________________________________
AliMUONRecoParam::AliMUONRecoParam()
-: TObject(),
+: AliDetectorRecoParam(),
fClusteringMode("MLEM"),
fTrackingMode("KALMAN"),
fMinBendingMomentum(0.),
fUseSmoother(kFALSE)
{
/// Constructor
+ SetNameTitle("MUON","MUON");
// use the default parameters for low flux environment
SetLowFluxParam();
cout<<Form("Tracking mode = %s",fTrackingMode.Data())<<endl;
- if (fCombinedClusterTrackReco) cout<<"Combined cluster/track reconstruction is on"<<endl;
- else cout<<"Combined cluster/track reconstruction is off"<<endl;
+ if (fCombinedClusterTrackReco) cout<<"Combined cluster/track reconstruction: ON"<<endl;
+ else cout<<"Combined cluster/track reconstruction: OFF"<<endl;
cout<<Form("Bending momentum range = [%5.2f,%5.2f]",fMinBendingMomentum,fMaxBendingMomentum)<<endl;
/// The clustering mode and the associated parameters can be changed by using
/// AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLow(High)FluxParam();
/// muonRecoParam->Set...(); // see methods in AliMUONRecoParam.h for details
-/// AliMUONReconstructor::SetRecoParam(muonRecoParam);
+/// AliRecoParam::Instance()->RegisterRecoParam(muonRecoParam);
///
/// Valid modes are :
///
#include "AliMpCDB.h"
#include "AliMpConstants.h"
+#include "AliRecoParam.h"
#include "AliRawReader.h"
#include "AliCDBManager.h"
#include "AliCodeTimer.h"
#include "AliLog.h"
#include <Riostream.h>
+#include <TObjArray.h>
#include <TClonesArray.h>
#include <TString.h>
#include <TTree.h>
// Load geometry data
fTransformer->LoadGeometryData();
- // initialize reconstruction parameters in not already done
- if (!fgRecoParam) {
- AliWarning("Reconstruction parameters not initialized - Use default one");
- fgRecoParam = AliMUONRecoParam::GetLowFluxParam();
- }
-
}
//_____________________________________________________________________________
}
//_____________________________________________________________________________
-void AliMUONReconstructor::SetRecoParam(AliMUONRecoParam *param)
+const AliMUONRecoParam* AliMUONReconstructor::GetRecoParam()
{
- /// set reconstruction parameters
+ /// get reconstruction parameters
- // remove existing parameters
- if (fgRecoParam) {
- cout<<"AliMUONReconstructor::SetRecoParam: Reconstruction parameters already initialized - overwrite them"<<endl;
- delete fgRecoParam;
+ if (!fgRecoParam) {
+
+ // get reconstruction parameters from AliRecoParam if any
+ TObjArray *recoParams = AliRecoParam::Instance()->GetRecoParam("MUON");
+
+ if (recoParams) {
+
+ fgRecoParam = (AliMUONRecoParam*) recoParams->Last();
+
+ } else {
+
+ // initialize reconstruction parameters if not already done
+ cout<<"W-AliMUONReconstructor::GetRecoParam: Reconstruction parameters not initialized - Use default one"<<endl;
+ fgRecoParam = AliMUONRecoParam::GetLowFluxParam();
+ AliRecoParam::Instance()->RegisterRecoParam(fgRecoParam);
+
+ }
+
}
- fgRecoParam = param;
+ return fgRecoParam;
}
//_____________________________________________________________________________
AliDebug(1,"");
- AliMUONVClusterFinder* clusterFinder = CreateClusterFinder(fgRecoParam->GetClusteringMode());
+ AliMUONVClusterFinder* clusterFinder = CreateClusterFinder(GetRecoParam()->GetClusteringMode());
if ( !clusterFinder ) return;
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliMUONReconstructor.h"
#include "AliMUONRecoParam.h"
+#include "AliRecoParam.h"
#include "AliCDBManager.h"
#include "AliMagFMaps.h"
#include "AliTracker.h"
AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
muonRecoParam->CombineClusterTrackReco(kTRUE);
-
- AliMUONReconstructor::SetRecoParam(muonRecoParam);
muonRecoParam->Print("FULL");
+ AliRecoParam::Instance()->RegisterRecoParam(muonRecoParam);
MuonRec->Run();