AliRoot Core  edcc906 (edcc906)
AliMpDCSNamer Class Reference

Collection of methods usefull to DCS handling for MUON TRK and TRG. More...

#include <AliMpDCSNamer.h>

Inheritance diagram for AliMpDCSNamer:

Public Types

enum  { kDCSHV, kDCSI, kNDCSMeas }
 
enum  { kTrackerDet, kTriggerDet }
 

Public Member Functions

 AliMpDCSNamer ()
 
 AliMpDCSNamer (const char *detName)
 
virtual ~AliMpDCSNamer ()
 
Bool_t SetDetector (const char *detName)
 
TString DCSNameFromAlias (const char *dcsAlias) const
 
TString DCSAliasFromName (const char *dcsName) const
 
TString DCSMCHLVAliasName (Int_t detElemId, Int_t voltageType, AliMp::PlaneType planeType=AliMp::kBendingPlane) const
 
TString DCSAliasName (Int_t detElemId, Int_t sector=0, Int_t dcsMeasure=0) const
 
TString DCSSwitchAliasName (Int_t detElemId, Int_t pcbNumber) const
 
Int_t DCS2DE (Int_t chamberId, Int_t side, Int_t dcsNumber) const
 
Int_t DetElemId2DCS (Int_t detElemId, Int_t &side, Int_t &chId) const
 
Int_t DCSIndexFromDCSAlias (const char *dcsAlias) const
 
Bool_t GetElementsFromDCSMCHLVAlias (TString alias, Int_t &chamberNumber, Int_t &groupNumber, TString &voltageType) const
 
Bool_t DecodeDCSMCHLVAlias (const char *dcsAlias, Int_t *&detElemId, Int_t &numberOfDetectionElements, AliMp::PlaneType &planeType) const
 
Int_t DetElemIdFromDCSAlias (const char *dcsAlias) const
 
Int_t DCSvariableFromDCSAlias (const char *dcsAlias) const
 
Int_t ManuId2Index (Int_t detElemId, Int_t manuId) const
 
Int_t ManuId2PCBIndex (Int_t detElemId, Int_t manuId) const
 Returns the index of PCB (within a St345 slat) for a given manu number. More...
 
Int_t ManuId2Sector (Int_t detElemId, Int_t manuId) const
 Return the HV-sector number (within a St12 quadrant) for a given manu number. More...
 
Int_t NumberOfPCBs (Int_t detElemId) const
 
TObjArrayGenerateAliases (const char *pattern="") const
 
TObjArrayCompactAliases () const
 
void AliasesAsLdif (const char *ldiffile) const
 
Bool_t TestMCHLV () const
 

Static Public Member Functions

static Float_t TrackerHVOFF ()
 
static Float_t TrackerLVOFF ()
 

Private Member Functions

 AliMpDCSNamer (const AliMpDCSNamer &right)
 Not implemented. More...
 
AliMpDCSNameroperator= (const AliMpDCSNamer &right)
 Not implemented. More...
 
Bool_t CheckConsistency (Int_t detElemId) const
 

Private Attributes

Int_t fDetector
 Detector type (either tracker or trigger) More...
 

Static Private Attributes

static const char * fgkDCSChannelSt345Pattern []
 DCS Tracker Channel name template. More...
 
static const char * fgkDCSChannelSt12Pattern []
 DCS Tracker Channel name template. More...
 
static const char * fgkDCSQuadrantPattern []
 DCS Tracker quadrant name template. More...
 
static const char * fgkDCSChamberPattern []
 DCS Tracker chamber name template. More...
 
static const char * fgkDCSMCHLVGroupPattern []
 DCS Tracker chamber LV group name template. More...
 
static const char * fgkDCSSwitchSt345Pattern = "MchDE%04dsw%d.inValue"
 DCS Tracker Switch name template. More...
 
static const char * fgkDCSSideTrackerName [] = { "Left", "Right" }
 DCS Tracker Name of the side written in DCS. More...
 
static const char * fgkDCSChannelTriggerPatternRead [] = {"MTR_%3sSIDE_MT%2i_RPC%i_HV.%14s", "MTR_%2sSIDE_MT%2i_RPC%i_HV.%14s"}
 DCS Trigger Channel name template for input. More...
 
static const char * fgkDCSChannelTriggerPattern [] = {"MTR_%3sSIDE_MT%2i_RPC%i_HV.%s", "MTR_%2sSIDE_MT%2i_RPC%i_HV.%s"}
 DCS Trigger Channel name template for output. More...
 
static const char * fgkDCSSideTriggerName [] = { "OUT", "IN" }
 DCS Trigger Name of the side written in DCS. More...
 
static const char * fgkDCSMeasureName [] = { "vEff", "actual.iMon" }
 DCS Trigger Name of the measure (HV or current) written in DCS. More...
 
static const char * fgkDetectorName [] = { "TRACKER", "TRIGGER" }
 Name of detector (Tracker or Trigger) More...
 

Detailed Description

Collection of methods usefull to DCS handling for MUON TRK and TRG.

A utility class to manage DCS aliases names, in particular the two conventions used to number the detection elements within a detector.

Author
: Laurent Aphecetche and Diego Stocco, Subatech

Definition at line 22 of file AliMpDCSNamer.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kDCSHV 

High Voltage.

kDCSI 

Currents.

kNDCSMeas 

Number of measured quantities.

Definition at line 82 of file AliMpDCSNamer.h.

anonymous enum
Enumerator
kTrackerDet 

Namer for tracker.

kTriggerDet 

Namer for trigger.

Definition at line 89 of file AliMpDCSNamer.h.

Constructor & Destructor Documentation

AliMpDCSNamer::AliMpDCSNamer ( )

default ctor

Definition at line 100 of file AliMpDCSNamer.cxx.

AliMpDCSNamer::AliMpDCSNamer ( const char *  detName)

ctor taking the detector name as argument (either trigger or tracker)

Definition at line 108 of file AliMpDCSNamer.cxx.

AliMpDCSNamer::~AliMpDCSNamer ( )
virtual

dtor

Definition at line 116 of file AliMpDCSNamer.cxx.

AliMpDCSNamer::AliMpDCSNamer ( const AliMpDCSNamer right)
private

Not implemented.

Member Function Documentation

void AliMpDCSNamer::AliasesAsLdif ( const char *  ldiffile) const

Export the aliases in LDIF format

Definition at line 144 of file AliMpDCSNamer.cxx.

Bool_t AliMpDCSNamer::CheckConsistency ( Int_t  detElemId) const
private

Check that the required detElemId either belongs to tracker or trigger consistently with the initial definition of the namer

Definition at line 1371 of file AliMpDCSNamer.cxx.

Referenced by DetElemId2DCS().

TObjArray * AliMpDCSNamer::CompactAliases ( ) const

Generate a compact list of aliases, for Shuttle test This one is completely hand-made, in contrast with GenerateAliases() method

Definition at line 179 of file AliMpDCSNamer.cxx.

Referenced by AliasesAsLdif().

Int_t AliMpDCSNamer::DCS2DE ( Int_t  chamberId,
Int_t  side,
Int_t  dcsNumber 
) const

Convert DCS Tracker "slat number" (old convention) to DE (new) convention.

Parameters
chamberId: chamber number (starting at 0)
side: 0 for Left, 1 for Right
dcsNumber: slat number in DCS convention

note that dcsNumber should be >=0 and < number of DEs/2 in chamber

Definition at line 269 of file AliMpDCSNamer.cxx.

Referenced by DecodeDCSMCHLVAlias(), and DetElemIdFromDCSAlias().

TString AliMpDCSNamer::DCSAliasFromName ( const char *  dcsName) const

Convert a (possibly partial) dcsname to an alias (only for MCH HV)

Definition at line 495 of file AliMpDCSNamer.cxx.

Referenced by AliMUONRejectList::SetHVProbability().

TString AliMpDCSNamer::DCSAliasName ( Int_t  detElemId,
Int_t  sector = 0,
Int_t  dcsMeasure = 0 
) const

Return the alias name of the DCS Channel for a given DCS area

Parameters
detElemId
sector= 0,1 or 2 for St12, and is unused for st345 and trigger
dcsMeasure= kDCSHV, kDCSI

Definition at line 933 of file AliMpDCSNamer.cxx.

Referenced by CheckTriggerDCS(), AliMUONManuPainter::Describe(), AliMUONBusPatchEvolution::FillNumberOfPads(), GenerateAliases(), AliMUONTriggerQADataMakerRec::GetDCSValues(), AliMUONBusPatchEvolution::GroupByChamber(), AliMUONPadStatusMaker::HVSt12Status(), AliMUONPadStatusMaker::HVSt345Status(), AliMUONHVSubprocessor::Process(), and AliMUONTriggerDCSSubprocessor::Process().

Int_t AliMpDCSNamer::DCSIndexFromDCSAlias ( const char *  dcsAlias) const

Converts the dcs alias to a hv index

dcsAlias has one of the following 3 forms :

MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Slat##.actual.vMon

MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Quad::Sect#.actual.vMon

MchDE####dsw#.inValue

it's a switch

Definition at line 989 of file AliMpDCSNamer.cxx.

Referenced by AliMUONCDB::CheckHV(), AliMUONTrackerConditionDataMaker::CreateHVStore(), AliMUONTrackerHV::ReportTrips(), and AliMUONRejectList::SetHVProbability().

TString AliMpDCSNamer::DCSMCHLVAliasName ( Int_t  detElemId,
Int_t  voltageType,
AliMp::PlaneType  planeType = AliMp::kBendingPlane 
) const

Definition at line 792 of file AliMpDCSNamer.cxx.

Referenced by GenerateAliases(), AliMUONPadStatusMaker::LVStatus(), and TestMCHLV().

TString AliMpDCSNamer::DCSNameFromAlias ( const char *  dcsAlias) const

Convert a (possibly partial) aliasname to a name (only for MCH HV)

Definition at line 434 of file AliMpDCSNamer.cxx.

Referenced by AliMUONManuPainter::Describe(), AliMUONTrackerHV::HVoff(), and AliMUONTrackerHV::ReportTrips().

TString AliMpDCSNamer::DCSSwitchAliasName ( Int_t  detElemId,
Int_t  pcbNumber 
) const

Return the alias name of the DCS Switch for a given PCB within a slat of St345

Definition at line 975 of file AliMpDCSNamer.cxx.

Referenced by AliMUONTrackerConditionDataMaker::CreateHVStore(), GenerateAliases(), AliMUONPadStatusMaker::HVSt345Status(), and AliMUONHVSubprocessor::Process().

Int_t AliMpDCSNamer::DCSvariableFromDCSAlias ( const char *  dcsAlias) const

Get DCS variable from an alias (trigger)

Definition at line 1105 of file AliMpDCSNamer.cxx.

Bool_t AliMpDCSNamer::DecodeDCSMCHLVAlias ( const char *  dcsAlias,
Int_t *&  detElemId,
Int_t &  numberOfDetectionElements,
AliMp::PlaneType planeType 
) const

Decode a MCH LV dcs alias in order to get :

  • the list of detection elements powered by this LV (between 1 for St 1-2 and max 4 DEs for St345 per LV group)
  • the plane type powered by this LV (only for St 1 and 2)

Definition at line 604 of file AliMpDCSNamer.cxx.

Referenced by AliMUONTrackerLV::CheckLV(), AliMUONTrackerConditionDataMaker::CreateLVStore(), and TestMCHLV().

Int_t AliMpDCSNamer::DetElemId2DCS ( Int_t  detElemId,
Int_t &  side,
Int_t &  chId 
) const

Convert DE to DCS "slat number"

See also
DCS2DE

Definition at line 333 of file AliMpDCSNamer.cxx.

Referenced by DCSAliasName(), and DCSMCHLVAliasName().

Int_t AliMpDCSNamer::DetElemIdFromDCSAlias ( const char *  dcsAlias) const

Converts the dcs alias to a detection element identifier

dcsAlias has one of the following forms :

MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Slat##.actual.vMon

MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Quad::Sect#.actual.vMon

MTR_Side[OUTSIDE|INSIDE]_MTChamber##_RPC#_HV.Type[actual.iMon|vEff]

Definition at line 1037 of file AliMpDCSNamer.cxx.

Referenced by AliMUONCDB::CheckHV(), AliMUONTrackerConditionDataMaker::CreateHVStore(), AliMUONTrackerHV::ReportTrips(), and AliMUONRejectList::SetHVProbability().

TObjArray * AliMpDCSNamer::GenerateAliases ( const char *  pattern = "") const

Generate DCS alias names, for MUON Tracker High and Low Voltage systems or for MUON Trigger HV and current system.

For MCH we first generate 188 aliases of HV DCS channels :

St 1 ch 1 : 12 channels ch 2 : 12 channels St 2 ch 3 : 12 channels ch 4 : 12 channels St 3 ch 5 : 18 channels ch 6 : 18 channels St 4 ch 7 : 26 channels ch 8 : 26 channels St 5 ch 9 : 26 channels ch 10 : 26 channels

then 600 aliases of DCS switches (only for St345) : 1 switch per PCB.

and finally 324 LV groups (108 per voltage x 3 voltages)

St 1 ch 1 left or right : 4 groups ch 2 left or right : 4 groups St 2 ch 3 left or right : 4 groups ch 4 left or right : 4 groups St 3 ch 5 left or right : 5 groups ch 6 left or right : 5 groups St 4 ch 7 left or right : 7 groups ch 8 left or right : 7 groups St 5 ch 9 left or right : 7 groups ch 10 left or right : 7 groups

Returns a TObjArray of TObjString(=alias name)

Definition at line 1126 of file AliMpDCSNamer.cxx.

Referenced by CreateDCSAliasMap(), AliMUONCDB::MakeHVStore(), AliMUONCDB::MakeLVStore(), AliMUONLVSubprocessor::Process(), and TestMCHLV().

Bool_t AliMpDCSNamer::GetElementsFromDCSMCHLVAlias ( TString  alias,
Int_t &  chamberNumber,
Int_t &  groupNumber,
TString &  voltageType 
) const

Extract chamberNumber, groupNumber and voltageType from the MCH LV DCS alias

This method is more work than the bare sscanf it replaces, but hopefully safer ?

Definition at line 555 of file AliMpDCSNamer.cxx.

Referenced by DecodeDCSMCHLVAlias().

Int_t AliMpDCSNamer::ManuId2Index ( Int_t  detElemId,
Int_t  manuId 
) const

Convert (de,manu) to hv index, depending on the station

Definition at line 1275 of file AliMpDCSNamer.cxx.

Referenced by AliMpDetElement::AddManu().

Int_t AliMpDCSNamer::ManuId2PCBIndex ( Int_t  detElemId,
Int_t  manuId 
) const

Returns the index of PCB (within a St345 slat) for a given manu number.

Returns the index of PCB (within a St345 slat) for a given manu number. Returns -1 if (detElemId,manuId) is incorrect

Definition at line 1293 of file AliMpDCSNamer.cxx.

Referenced by AliMUONTrackerData::GetParts(), AliMUONPadStatusMaker::HVStatus(), and ManuId2Index().

Int_t AliMpDCSNamer::ManuId2Sector ( Int_t  detElemId,
Int_t  manuId 
) const

Return the HV-sector number (within a St12 quadrant) for a given manu number.

Return the DCS-sector number (within a St12 quadrant) for a given manu number.

Definition at line 1309 of file AliMpDCSNamer.cxx.

Referenced by AliMUONManuPainter::Describe(), AliMUONPadStatusMaker::HVStatus(), and ManuId2Index().

Int_t AliMpDCSNamer::NumberOfPCBs ( Int_t  detElemId) const

Returns the number of PCB in a given detection element Only works for St345

Definition at line 1352 of file AliMpDCSNamer.cxx.

Referenced by CompactAliases(), AliMUONTrackerConditionDataMaker::CreateHVStore(), AliMUONTrackerData::CreatePCBParam(), GenerateAliases(), AliMUONHVSubprocessor::Process(), and AliMUONTrackerHV::ReportTrips().

AliMpDCSNamer& AliMpDCSNamer::operator= ( const AliMpDCSNamer right)
private

Not implemented.

Bool_t AliMpDCSNamer::SetDetector ( const char *  detName)

Set the detector type

Parameters
detName= tracker, trigger

Definition at line 122 of file AliMpDCSNamer.cxx.

Referenced by AliMpDCSNamer().

Bool_t AliMpDCSNamer::TestMCHLV ( ) const

Circular test of DCSMCHLVAliasName and DecodeDCSMCHLVAlias methods

Definition at line 1401 of file AliMpDCSNamer.cxx.

Referenced by TrackerLVOFF().

static Float_t AliMpDCSNamer::TrackerLVOFF ( )
inlinestatic

Definition at line 78 of file AliMpDCSNamer.h.

Referenced by AliMUONTrackerConditionDataMaker::CreateLVStore().

Member Data Documentation

Int_t AliMpDCSNamer::fDetector
private

Detector type (either tracker or trigger)

Definition at line 120 of file AliMpDCSNamer.h.

Referenced by AliasesAsLdif(), CheckConsistency(), CompactAliases(), DCS2DE(), DetElemIdFromDCSAlias(), GenerateAliases(), and SetDetector().

const char * AliMpDCSNamer::fgkDCSChamberPattern
staticprivate
Initial value:
=
{
"MchHvLvLeft/Chamber%02dLeft",
"MchHvLvRight/Chamber%02dRight"
}

DCS Tracker chamber name template.

Definition at line 107 of file AliMpDCSNamer.h.

Referenced by DCSAliasFromName(), and DCSNameFromAlias().

const char * AliMpDCSNamer::fgkDCSChannelSt12Pattern
staticprivate
Initial value:
=
{
"MchHvLvLeft/Chamber%02dLeft/Quad%dSect%d.actual.vMon",
"MchHvLvRight/Chamber%02dRight/Quad%dSect%d.actual.vMon"
}

DCS Tracker Channel name template.

Definition at line 105 of file AliMpDCSNamer.h.

Referenced by DCSAliasFromName(), DCSAliasName(), DCSIndexFromDCSAlias(), DCSNameFromAlias(), and DetElemIdFromDCSAlias().

const char * AliMpDCSNamer::fgkDCSChannelSt345Pattern
staticprivate
Initial value:
=
{ "MchHvLvLeft/Chamber%02dLeft/Slat%02d.actual.vMon",
"MchHvLvRight/Chamber%02dRight/Slat%02d.actual.vMon"
}

DCS Tracker Channel name template.

Definition at line 104 of file AliMpDCSNamer.h.

Referenced by DCSAliasFromName(), DCSAliasName(), DCSNameFromAlias(), and DetElemIdFromDCSAlias().

const char * AliMpDCSNamer::fgkDCSChannelTriggerPattern = {"MTR_%3sSIDE_MT%2i_RPC%i_HV.%s", "MTR_%2sSIDE_MT%2i_RPC%i_HV.%s"}
staticprivate

DCS Trigger Channel name template for output.

Definition at line 114 of file AliMpDCSNamer.h.

Referenced by DCSAliasName().

const char * AliMpDCSNamer::fgkDCSChannelTriggerPatternRead = {"MTR_%3sSIDE_MT%2i_RPC%i_HV.%14s", "MTR_%2sSIDE_MT%2i_RPC%i_HV.%14s"}
staticprivate

DCS Trigger Channel name template for input.

Definition at line 113 of file AliMpDCSNamer.h.

Referenced by DetElemIdFromDCSAlias().

const char * AliMpDCSNamer::fgkDCSMCHLVGroupPattern
staticprivate
Initial value:
=
{
"MchHvLvLeft/Chamber%02dLeft/Group%d%s.MeasurementSenseVoltage",
"MchHvLvRight/Chamber%02dRight/Group%d%s.MeasurementSenseVoltage"
}

DCS Tracker chamber LV group name template.

Definition at line 108 of file AliMpDCSNamer.h.

Referenced by DCSMCHLVAliasName().

const char * AliMpDCSNamer::fgkDCSMeasureName = { "vEff", "actual.iMon" }
staticprivate

DCS Trigger Name of the measure (HV or current) written in DCS.

Definition at line 116 of file AliMpDCSNamer.h.

Referenced by DCSAliasName(), and DCSvariableFromDCSAlias().

const char * AliMpDCSNamer::fgkDCSQuadrantPattern
staticprivate
Initial value:
=
{
"MchHvLvLeft/Chamber%02dLeft/Quad%d",
"MchHvLvRight/Chamber%02dRight/Quad%d"
}

DCS Tracker quadrant name template.

Definition at line 106 of file AliMpDCSNamer.h.

Referenced by DCSAliasFromName(), and DCSNameFromAlias().

const char * AliMpDCSNamer::fgkDCSSideTrackerName = { "Left", "Right" }
staticprivate

DCS Tracker Name of the side written in DCS.

Definition at line 111 of file AliMpDCSNamer.h.

Referenced by DetElemIdFromDCSAlias().

const char * AliMpDCSNamer::fgkDCSSideTriggerName = { "OUT", "IN" }
staticprivate

DCS Trigger Name of the side written in DCS.

Definition at line 115 of file AliMpDCSNamer.h.

Referenced by DCSAliasName(), and DetElemIdFromDCSAlias().

const char * AliMpDCSNamer::fgkDCSSwitchSt345Pattern = "MchDE%04dsw%d.inValue"
staticprivate

DCS Tracker Switch name template.

Definition at line 110 of file AliMpDCSNamer.h.

Referenced by DCSIndexFromDCSAlias(), and DCSSwitchAliasName().

const char * AliMpDCSNamer::fgkDetectorName = { "TRACKER", "TRIGGER" }
staticprivate

Name of detector (Tracker or Trigger)

Definition at line 118 of file AliMpDCSNamer.h.

Referenced by CheckConsistency(), and SetDetector().


The documentation for this class was generated from the following files: