![]() |
AliRoot Core
edcc906 (edcc906)
|
Collection of methods usefull to DCS handling for MUON TRK and TRG. More...
#include <AliMpDCSNamer.h>
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 |
TObjArray * | GenerateAliases (const char *pattern="") const |
TObjArray * | CompactAliases () 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... | |
AliMpDCSNamer & | operator= (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... | |
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.
Definition at line 22 of file AliMpDCSNamer.h.
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.
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.
|
virtual |
dtor
Definition at line 116 of file AliMpDCSNamer.cxx.
|
private |
Not implemented.
void AliMpDCSNamer::AliasesAsLdif | ( | const char * | ldiffile | ) | const |
Export the aliases in LDIF format
Definition at line 144 of file AliMpDCSNamer.cxx.
|
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.
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
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 :
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"
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().
|
private |
Not implemented.
Bool_t AliMpDCSNamer::SetDetector | ( | const char * | detName | ) |
Set the detector type
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().
|
inlinestatic |
Definition at line 75 of file AliMpDCSNamer.h.
Referenced by AliMUONTrackerConditionDataMaker::CreateHVStore(), AliMUONPadStatusMaker::HVSt12Status(), AliMUONPadStatusMaker::HVSt345Status(), and AliMUONCalibrationData::PatchHVValues().
|
inlinestatic |
Definition at line 78 of file AliMpDCSNamer.h.
Referenced by AliMUONTrackerConditionDataMaker::CreateLVStore().
|
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().
|
staticprivate |
DCS Tracker chamber name template.
Definition at line 107 of file AliMpDCSNamer.h.
Referenced by DCSAliasFromName(), and DCSNameFromAlias().
|
staticprivate |
DCS Tracker Channel name template.
Definition at line 105 of file AliMpDCSNamer.h.
Referenced by DCSAliasFromName(), DCSAliasName(), DCSIndexFromDCSAlias(), DCSNameFromAlias(), and DetElemIdFromDCSAlias().
|
staticprivate |
DCS Tracker Channel name template.
Definition at line 104 of file AliMpDCSNamer.h.
Referenced by DCSAliasFromName(), DCSAliasName(), DCSNameFromAlias(), and DetElemIdFromDCSAlias().
|
staticprivate |
DCS Trigger Channel name template for output.
Definition at line 114 of file AliMpDCSNamer.h.
Referenced by DCSAliasName().
|
staticprivate |
DCS Trigger Channel name template for input.
Definition at line 113 of file AliMpDCSNamer.h.
Referenced by DetElemIdFromDCSAlias().
|
staticprivate |
DCS Tracker chamber LV group name template.
Definition at line 108 of file AliMpDCSNamer.h.
Referenced by DCSMCHLVAliasName().
|
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().
|
staticprivate |
DCS Tracker quadrant name template.
Definition at line 106 of file AliMpDCSNamer.h.
Referenced by DCSAliasFromName(), and DCSNameFromAlias().
|
staticprivate |
DCS Tracker Name of the side written in DCS.
Definition at line 111 of file AliMpDCSNamer.h.
Referenced by DetElemIdFromDCSAlias().
|
staticprivate |
DCS Trigger Name of the side written in DCS.
Definition at line 115 of file AliMpDCSNamer.h.
Referenced by DCSAliasName(), and DetElemIdFromDCSAlias().
|
staticprivate |
DCS Tracker Switch name template.
Definition at line 110 of file AliMpDCSNamer.h.
Referenced by DCSIndexFromDCSAlias(), and DCSSwitchAliasName().
|
staticprivate |
Name of detector (Tracker or Trigger)
Definition at line 118 of file AliMpDCSNamer.h.
Referenced by CheckConsistency(), and SetDetector().