#include "AliMUON1DMap.h"
#include "AliMUON2DMap.h"
#include "AliMUON2DStoreValidator.h"
+#include "AliMUONCalibParamND.h"
#include "AliMUONCalibParamNF.h"
#include "AliMUONCalibParamNI.h"
#include "AliMUONConstants.h"
+#include "AliMUONRejectList.h"
#include "AliMUONTrackerIO.h"
#include "AliMUONTriggerEfficiencyCells.h"
#include "AliMUONTriggerLut.h"
return nchannels;
}
+//_____________________________________________________________________________
+AliMUONRejectList*
+AliMUONCDB::MakeRejectListStore(Bool_t defaultValues)
+{
+ /// Create a reject list
+
+ AliCodeTimerAuto("");
+
+ AliMUONRejectList* rl = new AliMUONRejectList;
+
+ if (!defaultValues)
+ {
+ rl->SetDetectionElementProbability(510);
+ rl->SetDetectionElementProbability(508);
+ return rl;
+ }
+
+ return rl;
+}
+
+//_____________________________________________________________________________
+Int_t
+AliMUONCDB::MakeOccupancyMapStore(AliMUONVStore& occupancyMapStore, Bool_t defaultValues)
+{
+ /// Create an occupancy map.
+
+ AliCodeTimerAuto("");
+
+ Int_t nmanus(0);
+
+ Int_t detElemId;
+ Int_t manuId;
+
+ AliMpManuIterator it;
+
+ Int_t nevents(1000);
+
+ while ( it.Next(detElemId,manuId) )
+ {
+ ++nmanus;
+
+ AliMUONVCalibParam* occupancy = new AliMUONCalibParamND(5,1,detElemId,manuId,0);
+
+ Double_t occ = 0.0;
+
+ AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
+
+ Int_t numberOfChannelsInManu = de->NofChannelsInManu(manuId);
+
+ if (!defaultValues) occ = gRandom->Rndm(1.0);
+
+ Double_t sumn = occ*nevents;
+
+ occupancy->SetValueAsFloat(0,0,sumn);
+ occupancy->SetValueAsFloat(0,1,sumn);
+ occupancy->SetValueAsFloat(0,2,sumn);
+ occupancy->SetValueAsInt(0,3,numberOfChannelsInManu);
+ occupancy->SetValueAsInt(0,4,nevents);
+
+ Bool_t ok = occupancyMapStore.Add(occupancy);
+ if (!ok)
+ {
+ AliError(Form("Could not set DetElemId=%d manuId=%d",detElemId,manuId));
+ }
+ }
+
+ return nmanus;
+}
+
//_____________________________________________________________________________
Int_t
AliMUONCDB::MakeCapacitanceStore(AliMUONVStore& capaStore, const char* file)
AliMpPad* p = static_cast<AliMpPad*>(tmp.UncheckedAt(i));
Int_t x;
// Bool_t ok =
- calibParam->PackValues(p->GetManuId(),p->GetManuChannel(),x);
+ calibParam->PackValues(p->GetManuId(),p->GetManuChannel(),x);
// if (!ok)
// {
// AliError("Could not pack value. Something is seriously wrong. Please check");
delete pedestalStore;
}
+//_____________________________________________________________________________
+void
+AliMUONCDB::WriteOccupancyMap(Bool_t defaultValues,
+ Int_t startRun, Int_t endRun)
+{
+ /// generate occupancy map values (either empty one if defaultValues=true, or
+ /// random one, see MakeOccupancyMapStore) and
+ /// store them into CDB located at cdbpath, with a validity period
+ /// ranging from startRun to endRun
+
+ AliMUONVStore* occupancyMapStore = Create2DMap();
+ Int_t ngenerated = MakeOccupancyMapStore(*occupancyMapStore,defaultValues);
+ AliInfo(Form("Ngenerated = %d",ngenerated));
+ WriteToCDB("MUON/Calib/OccupancyMap",occupancyMapStore,startRun,endRun,defaultValues);
+ delete occupancyMapStore;
+}
+
+//_____________________________________________________________________________
+void
+AliMUONCDB::WriteRejectList(Bool_t defaultValues,
+ Int_t startRun, Int_t endRun)
+{
+ /// generate reject list values (either empty one if defaultValues=true, or
+ /// random one, see MakeRejectListStore) and
+ /// store them into CDB located at cdbpath, with a validity period
+ /// ranging from startRun to endRun
+
+ AliMUONRejectList* rl = MakeRejectListStore(defaultValues);
+ WriteToCDB("MUON/Calib/RejectList",rl,startRun,endRun,defaultValues);
+ delete rl;
+}
+
//_____________________________________________________________________________
void
WriteGains(defaultValues,startRun,endRun);
WriteCapacitances(defaultValues,startRun,endRun);
WriteNeighbours(startRun,endRun);
+ WriteOccupancyMap(startRun,endRun,defaultValues);
+ WriteRejectList(startRun,endRun,defaultValues);
}