33 #include "AliCDBManager.h"
34 #include "AliCodeTimer.h"
65 fNumberOfMonoCathodeClusters(0),
66 fNumberOfLegitimateMonoCathodeClusters(0)
70 AliCodeTimerAuto(Form(
"RUN %d",runNumber),0);
72 fGeometryTransformer->LoadGeometryData();
79 Int_t detElemId, manuId;
81 while (it.
Next(detElemId,manuId))
91 AliInfo(Form(
"Nevents %d Nclusters %d Nmono-cathodes %d Nlegitimate-mono-cathodes %d",
103 Int_t manuId, Int_t manuChannel,
105 Bool_t legitimateMonoCathode)
122 if (!legitimateMonoCathode)
149 while ( ( param = static_cast<AliMUONVCalibParam*>(next()) ) )
151 for ( Int_t i = 0; i < param->Size(); ++i )
174 Int_t& manuBending, Int_t& manuBendingChannel,
175 Int_t& manuNonBending, Int_t& manuNonBendingChannel,
176 Bool_t& monoCathode, Bool_t& legitimateMonoCathode)
201 Bool_t bending(kFALSE);
202 Bool_t nonBending(kFALSE);
204 for ( Int_t i = 0; i < cluster.
GetNDigits(); ++i )
222 monoCathode = ( bending != nonBending );
226 legitimateMonoCathode = kFALSE;
229 if (
IsManuDead(detElemId,manuBending) ) legitimateMonoCathode = kTRUE;
235 if (
IsManuDead(detElemId,manuNonBending) ) legitimateMonoCathode = kTRUE;
239 if (!bending) manuBending *= -1;
240 if (!nonBending) manuNonBending *= -1;
256 if ( manuId <= 0 )
return kTRUE;
283 Int_t manuBendingId, manuBendingChannel;
284 Int_t manuNonBendingId, manuNonBendingChannel;
285 Bool_t monoCathode, legitimateMonoCathode;
287 GetClusterLocation(cluster, manuBendingId, manuBendingChannel,manuNonBendingId, manuNonBendingChannel, monoCathode,legitimateMonoCathode);
virtual TIterator * CreateIterator() const =0
Return an iterator to loop over the whole store.
Implementation of AliMUONVTrackerData.
Class to be called from AliMUONQADataMakerRec.
const AliMpVSegmentation * GetMpSegmentation(Int_t detElemId, AliMp::CathodType cath, Bool_t warn=true) const
virtual ~AliMUONQAMappingCheck()
static AliMpSegmentation * Instance(Bool_t warn=true)
virtual Double_t GetZ() const =0
Return coordinate Z (cm)
void GetClusterLocation(AliMUONVCluster &cluster, Int_t &manuBending, Int_t &manuBendingChannel, Int_t &manuNonBending, Int_t &manuNonBendingChannel, Bool_t &monoCathode, Bool_t &legitimateMonoCathode)
AliMUONGeometryTransformer * fGeometryTransformer
! to go from global to local DE coordinates
void Store(AliMUONVCluster &cluster)
Int_t StatusMap(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
virtual void SetDimensionName(Int_t index, const char *value)
Set the name of a given dimension.
AliMpDetElement * GetDetElement(Int_t detElemId, Bool_t warn=true) const
virtual Double_t ValueAsDouble(Int_t i, Int_t j=0) const
Bool_t IsChannelDead(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
The class defines the electronics properties of detection element.
AliMUONDigitCalibrator * fDigitCalibrator
! to get statusmap
AliMUONVTrackerData * CreateData(const char *name) const
Bool_t Next(Int_t &detElemId, Int_t &manuId)
Class to loop over all manus of MUON Tracker.
Int_t GetManuChannel() const
virtual UInt_t GetDigitId(Int_t i) const =0
Return Id of digits i.
Container of calibration values for a given number of channels.
static AliMpDDLStore * Instance(Bool_t warn=true)
static Int_t ManuNofChannels()
Max number of channels per manu.
abstract base class for clusters
Class to calibrate the digits.
Int_t fNumberOfEvents
! number of events seen
Implementation of AliMUONVCalibParam for tuples of double.
virtual void DisableChannelLevel()
Disable storing values at the channel level.
virtual Int_t GetNDigits() const =0
Return number of associated digits.
static Int_t SelfDeadMask()
Return status bit map to tell a pad is bad.
Bool_t Add(const AliMUONTrackerData &data)
Basic implementation of AliMUONVStore container using AliMpExMap internally.
Int_t fNumberOfLegitimateMonoCathodeClusters
! number of mono-cathode that have a reason to be so
Bool_t IsManuDead(Int_t detElemId, Int_t manuId) const
virtual Double_t GetY() const =0
Return coordinate Y (cm)
virtual Bool_t Add(TObject *object)=0
Add an object to the store.
virtual AliMpPad PadByPosition(Double_t x, Double_t y, Bool_t warning=true) const =0
Find pad by position.
AliMp::CathodType GetCathodType(AliMp::PlaneType planeType) const
The abstract base class for the segmentation.
virtual Int_t ManuId() const =0
The electronic card id this digit belongs to (manuId for tracker, localboardId for trigger) ...
Class which encapsuate all information about a pad.
static Int_t GetDetElemId(UInt_t uniqueID)
Return detection element id, part of the uniqueID.
virtual Double_t GetX() const =0
Return coordinate X (cm)
Int_t fNumberOfMonoCathodeClusters
! total number of mono-cathode clusters seen
Base class for MUON data stores.
Int_t fNumberOfClusters
! total number of clusters seen
virtual Double_t GetCharge() const =0
Set the cluster charge.
Base class for MUON data that can be presented at different levels in the hierarchy of the MUON syste...
void AddClusterLocation(Int_t detElemId, Int_t manuId, Int_t manuChannel, Bool_t monoCathode, Bool_t legitimateMonoCathode)
AliMUONVStore * fStore
! store cluster informations at manu level
virtual TObject * FindObject(const char *name) const
Find an object by name.
static Int_t ManuMask(AliMp::PlaneType planeType)
virtual void SetValueAsDouble(Int_t i, Int_t j, Double_t value)