// Float_t cluth = defPar->GetClusteringThreshold();
// ...
+// --- ROOT header files ---
+#include "TObjArray.h"
+#include "TString.h"
+#include "AliCDBManager.h"
+#include "AliCDBEntry.h"
+
// --- AliRoot header files ---
#include "AliPHOSRecoParamEmc.h"
ClassImp(AliPHOSRecoParamEmc)
+TObjArray* AliPHOSRecoParamEmc::fgkMaps =0; //ALTRO mappings
+
//-----------------------------------------------------------------------------
AliPHOSRecoParamEmc::AliPHOSRecoParamEmc() : AliPHOSRecoParam()
{
AliPHOSRecoParam* params = new AliPHOSRecoParamEmc();
return params;
}
+
+//-----------------------------------------------------------------------------
+const TObjArray* AliPHOSRecoParamEmc::GetMappings()
+{
+ //Returns array of AliAltroMappings for RCU0..RCU3.
+ //If not found, read it from OCDB.
+
+ //Quick check as follows:
+ // root [0] AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
+ // root [1] AliCDBManager::Instance()->SetRun(1);
+ // root [2] TObjArray* maps = AliPHOSRecoParamEmc::GetMappings();
+ // root [3] maps->Print();
+
+ if(fgkMaps) return fgkMaps;
+
+ AliCDBEntry* entry = AliCDBManager::Instance()->Get("PHOS/Calib/Mapping");
+ if(entry)
+ fgkMaps = (TObjArray*)entry->GetObject();
+
+ return fgkMaps;
+
+}
virtual ~AliPHOSRecoParamEmc() {}
static AliPHOSRecoParam* GetEmcDefaultParameters();
+ static const TObjArray* GetMappings();
+
+ private:
+
+ static TObjArray* fgkMaps; // ALTRO mappings for RCU0..RCU3
ClassDef(AliPHOSRecoParamEmc,1)
};
// --- AliRoot header files ---
#include "AliLog.h"
+#include "AliAltroMapping.h"
#include "AliESDEvent.h"
#include "AliESDCaloCluster.h"
#include "AliPHOSReconstructor.h"
AliPHOSRawDecoder * dc ;
+ const TObjArray* maps = AliPHOSRecoParamEmc::GetMappings();
+ if(!maps) AliFatal("Cannot retrieve ALTRO mappings!!");
+
+ AliAltroMapping *mapping[4];
+ for(Int_t i = 0; i < 4; i++) {
+ mapping[i] = (AliAltroMapping*)maps->At(i);
+ }
+
if(strcmp(fgkRecoParamEmc->DecoderVersion(),"v1")==0)
- dc=new AliPHOSRawDecoderv1(rawReader);
+ dc=new AliPHOSRawDecoderv1(rawReader,mapping);
else
- dc=new AliPHOSRawDecoder(rawReader);
+ dc=new AliPHOSRawDecoder(rawReader,mapping);
TString option = GetOption();
if (option.Contains("OldRCUFormat"))