Detectors can have more than one AMANDA server. SHUTTLE queries the servers sequentially,
authoracolla <acolla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Sep 2007 16:53:13 +0000 (16:53 +0000)
committeracolla <acolla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Sep 2007 16:53:13 +0000 (16:53 +0000)
merges the dcs aliases/DPs in one TMap and sends it to the preprocessor.

26 files changed:
SHUTTLE/AliShuttle.cxx
SHUTTLE/AliShuttleConfig.cxx
SHUTTLE/AliShuttleConfig.h
SHUTTLE/DCSClient/macros/TestClientAlias.C
SHUTTLE/DCSClient/macros/TestMultialiases.C
SHUTTLE/SHUTTLELinkDef.h
SHUTTLE/schema/ACO.ldif
SHUTTLE/schema/DAQ.ldif
SHUTTLE/schema/DCS.ldif
SHUTTLE/schema/EMC.ldif
SHUTTLE/schema/GRP.ldif
SHUTTLE/schema/Global.ldif
SHUTTLE/schema/HLT.ldif
SHUTTLE/schema/HMP.ldif
SHUTTLE/schema/MCH.ldif
SHUTTLE/schema/PHS.ldif
SHUTTLE/schema/PMD.ldif
SHUTTLE/schema/SDD.ldif
SHUTTLE/schema/SPD.ldif
SHUTTLE/schema/SSD.ldif
SHUTTLE/schema/T00.ldif
SHUTTLE/schema/TOF.ldif
SHUTTLE/schema/TPC.ldif
SHUTTLE/schema/TRD.ldif
SHUTTLE/schema/ZDC.ldif
SHUTTLE/schema/shuttle.schema

index e252310363e2b5123eaec1ddb787c09c75f49a3f..d2c7da0513235b83f29ce94d6abfd5cece446b18 100644 (file)
 
 /*
 $Log$
+Revision 1.56  2007/09/14 16:46:14  jgrosseo
+1) Connect and Close are called before and after each query, so one can
+keep the same AliDCSClient object.
+2) The splitting of a query is moved to GetDPValues/GetAliasValues.
+3) Splitting interval can be specified in constructor
+
 Revision 1.55  2007/08/06 12:26:40  acolla
 Function Bool_t GetHLTStatus added to preprocessor. It returns the status of HLT
 read from the run logbook.
@@ -274,7 +280,6 @@ some docs added
 #include <TSystemDirectory.h>
 #include <TSystemFile.h>
 #include <TFile.h>
-#include <TFileMerger.h>
 #include <TGrid.h>
 #include <TGridResult.h>
 
@@ -868,7 +873,6 @@ Bool_t AliShuttle::StoreRefFilesToGrid()
                TString fullGridPath;
                fullGridPath.Form("alien://%s/%s", alienDir.Data(), fileName.Data());
 
-               TFileMerger fileMerger;
                Bool_t result = TFile::Cp(fullLocalPath, fullGridPath);
                
                if (result)
@@ -1531,12 +1535,13 @@ Bool_t AliShuttle::ProcessCurrentDetector()
         // Makes data retrieval just for a specific detector (fCurrentDetector).
        // Threre should be a configuration for this detector.
 
-       AliInfo(Form("Retrieving values for %s, run %d", fCurrentDetector.Data(), GetCurrentRun()));
+       Log("SHUTTLE", Form("ProcessCurrentDetector - Retrieving values for %s, run %d", 
+                                               fCurrentDetector.Data(), GetCurrentRun()));
 
        if (!CleanReferenceStorage(fCurrentDetector.Data()))
                return kFALSE;
 
-       TMap* dcsMap = 0;
+       TMap* dcsMap = new TMap();
 
        // call preprocessor
        AliPreprocessor* aPreprocessor =
@@ -1548,69 +1553,93 @@ Bool_t AliShuttle::ProcessCurrentDetector()
 
        if (!processDCS)
        {
-               Log(fCurrentDetector, "The preprocessor requested to skip the retrieval of DCS values");
+               Log(fCurrentDetector, "ProcessCurrentDetector -"
+                       " The preprocessor requested to skip the retrieval of DCS values");
        }
        else if (fTestMode & kSkipDCS)
        {
-               Log(fCurrentDetector, "In TESTMODE - Skipping DCS processing!");
+               Log(fCurrentDetector, "ProcessCurrentDetector - In TESTMODE: Skipping DCS processing");
        } 
        else if (fTestMode & kErrorDCS)
        {
-               Log(fCurrentDetector, "In TESTMODE - Simulating DCS error");
+               Log(fCurrentDetector, "ProcessCurrentDetector - In TESTMODE: Simulating DCS error");
                UpdateShuttleStatus(AliShuttleStatus::kDCSStarted);
                UpdateShuttleStatus(AliShuttleStatus::kDCSError);
+               delete dcsMap;
                return kFALSE;
        } else {
 
                UpdateShuttleStatus(AliShuttleStatus::kDCSStarted);
 
-               TString host(fConfig->GetDCSHost(fCurrentDetector));
-               Int_t port = fConfig->GetDCSPort(fCurrentDetector);
-
-               if (fConfig->GetDCSAliases(fCurrentDetector)->GetEntries() > 0)
-               {
-                       dcsMap = GetValueSet(host, port, fConfig->GetDCSAliases(fCurrentDetector), kAlias);
-                       if (!dcsMap)
-                       {
-                               Log(fCurrentDetector, "ProcessCurrentDetector - Error while retrieving DCS aliases");
-                               UpdateShuttleStatus(AliShuttleStatus::kDCSError);
-                               return kFALSE;
-                       }
-               }
+               // Query DCS archive
+               Int_t nServers = fConfig->GetNServers(fCurrentDetector);
+               Log("SHUTTLE", Form("ProcessCurrentDetector -"
+                               " found %d Amanda servers for %s", nServers, fCurrentDetector.Data()));
                
-               if (fConfig->GetDCSDataPoints(fCurrentDetector)->GetEntries() > 0)
+               for (int iServ=0; iServ<nServers; iServ++)
                {
-                       TMap* dcsMap2 = GetValueSet(host, port, fConfig->GetDCSDataPoints(fCurrentDetector), kDP);
-                       if (!dcsMap2)
+               
+                       TString host(fConfig->GetDCSHost(fCurrentDetector, iServ));
+                       Int_t port = fConfig->GetDCSPort(fCurrentDetector, iServ);
+                       
+                       TMap* aliasMap = 0;
+                       TMap* dpMap = 0;
+       
+                       if (fConfig->GetDCSAliases(fCurrentDetector, iServ)->GetEntries() > 0)
                        {
-                               Log(fCurrentDetector, "ProcessCurrentDetector - Error while retrieving DCS data points");
-                               UpdateShuttleStatus(AliShuttleStatus::kDCSError);
-                               if (dcsMap)
+                               aliasMap = GetValueSet(host, port, 
+                                               fConfig->GetDCSAliases(fCurrentDetector, iServ), kAlias);
+                               if (!aliasMap)
+                               {
+                                       Log(fCurrentDetector, 
+                                               Form("ProcessCurrentDetector -"
+                                                       " Error retrieving DCS aliases from server %s", 
+                                                               host.Data()));
+                                       UpdateShuttleStatus(AliShuttleStatus::kDCSError);
                                        delete dcsMap;
-                               return kFALSE;
+                                       return kFALSE;
+                               }
                        }
                        
-                       if (!dcsMap)
+                       if (fConfig->GetDCSDataPoints(fCurrentDetector, iServ)->GetEntries() > 0)
                        {
-                               dcsMap = dcsMap2;
+                               dpMap = GetValueSet(host, port, 
+                                               fConfig->GetDCSDataPoints(fCurrentDetector, iServ), kDP);
+                               if (!dpMap)
+                               {
+                                       Log(fCurrentDetector, 
+                                               Form("ProcessCurrentDetector -"
+                                                       " Error retrieving DCS data points from server %s", 
+                                                               host.Data()));
+                                       UpdateShuttleStatus(AliShuttleStatus::kDCSError);
+                                       if (aliasMap) delete aliasMap;
+                                       delete dcsMap;
+                                       return kFALSE;
+                               }                               
                        }
-                       else // merge
-                       {
-                               TIter iter(dcsMap2);
+                       
+                       // merge aliasMap and dpMap into dcsMap
+                       if(aliasMap) {
+                               TIter iter(aliasMap);
                                TObjString* key = 0;
                                while ((key = (TObjString*) iter.Next()))
-                                       dcsMap->Add(key, dcsMap2->GetValue(key->String()));
-                                       
-                               dcsMap2->SetOwner(kFALSE);
-                               delete dcsMap2;
+                                       dcsMap->Add(key, aliasMap->GetValue(key->String()));
+                               
+                               aliasMap->SetOwner(kFALSE);
+                               delete aliasMap;
+                       }       
+                       
+                       if(dpMap) {
+                               TIter iter(dpMap);
+                               TObjString* key = 0;
+                               while ((key = (TObjString*) iter.Next()))
+                                       dcsMap->Add(key, dpMap->GetValue(key->String()));
+                               
+                               dpMap->SetOwner(kFALSE);
+                               delete dpMap;
                        }
                }
-               
        }
-
-       // still no map?
-       if (!dcsMap)
-               dcsMap = new TMap;
        
        // DCS Archive DB processing successful. Call Preprocessor!
        UpdateShuttleStatus(AliShuttleStatus::kPPStarted);
@@ -1770,7 +1799,8 @@ Bool_t AliShuttle::GetValueSet(const char* host, Int_t port, const char* entry,
        // valueSet: array of retrieved AliDCSValue's
        // type: kAlias or kDP
 
-       AliDCSClient client(host, port, fTimeout, fRetries);
+       // TODO The last parameter switches from single query to multy query!
+       AliDCSClient client(host, port, fTimeout, fRetries, 1);
        if (!client.IsConnected())
        {
                return kFALSE;
index 28e5d4f73437fb318936d1081d077d57b7be4a03..0a294a7453f9cc9f397bc1537b63c99b096a4773 100644 (file)
 
 /*
 $Log$
+Revision 1.21  2007/04/27 07:06:48  jgrosseo
+GetFileSources returns empty list in case of no files, but successful query
+No mails sent in testmode
+
 Revision 1.20  2007/04/04 10:33:36  jgrosseo
 1) Storing of files to the Grid is now done _after_ your preprocessors succeeded. This is transparent, which means that you can still use the same functions (Store, StoreReferenceData) to store files to the Grid. However, the Shuttle first stores them locally and transfers them after the preprocessor finished. The return code of these two functions has changed from UInt_t to Bool_t which gives you the success of the storing.
 In case of an error with the Grid, the Shuttle will retry the storing later, the preprocessor does not need to be run again.
@@ -150,20 +154,16 @@ some docs added
 #include <TLDAPAttribute.h>
 
 
-AliShuttleConfig::AliShuttleConfigHolder::AliShuttleConfigHolder(const TLDAPEntry* entry):
-fDetector(""),
+AliShuttleConfig::AliShuttleDCSConfigHolder::AliShuttleDCSConfigHolder(const TLDAPEntry* entry):
 fDCSHost(""),
 fDCSPort(0),
 fDCSAliases(0),
 fDCSDataPoints(0),
 fDCSAliasesComp(0),
 fDCSDataPointsComp(0),
-fResponsibles(0),
-fIsValid(kFALSE),
-fSkipDCSQuery(kFALSE),
-fStrictRunOrder(kFALSE)
+fIsValid(kFALSE)
 {
-// constructor of the shuttle configuration holder
+// constructor of the shuttle DCS configuration holder
 
        TLDAPAttribute* anAttribute;
        fDCSAliases = new TObjArray();
@@ -174,70 +174,27 @@ fStrictRunOrder(kFALSE)
        fDCSAliasesComp->SetOwner(1);
        fDCSDataPointsComp = new TObjArray();
        fDCSDataPointsComp->SetOwner(1);
-       fResponsibles = new TObjArray();
-       fResponsibles->SetOwner(1);
-
-       anAttribute = entry->GetAttribute("det"); // MUST
-        if (!anAttribute)
-       {
-               AliError(Form("Invalid configuration! No \"det\" attribute!"));
-               return;
-        }
-       fDetector = anAttribute->GetValue();
 
-       anAttribute = entry->GetAttribute("StrictRunOrder"); // MAY
-        if (!anAttribute)
-       {
-               AliWarning(Form("%s did not set StrictRunOrder flag - the default is FALSE",
-                               fDetector.Data()));
-        } else {
-               TString strictRunStr = anAttribute->GetValue();
-               if (!(strictRunStr == "0" || strictRunStr == "1"))
-               {
-                       AliError("Invalid configuration! StrictRunOrder flag must be 0 or 1!");
-                       return;
-               }
-               fStrictRunOrder = (Bool_t) strictRunStr.Atoi();
-       }
-
-       anAttribute = entry->GetAttribute("responsible"); // MAY
-        if (!anAttribute)
-       {
-               AliDebug(2, "Warning! No \"responsible\" attribute!");
-        }
-       else
-       {
-               const char* aResponsible;
-               while ((aResponsible = anAttribute->GetValue()))
-               {
-                       fResponsibles->AddLast(new TObjString(aResponsible));
-               }
-       }
        
-       anAttribute = entry->GetAttribute("DCSHost"); // MAY
+       anAttribute = entry->GetAttribute("dcsHost"); 
        if (!anAttribute)
        {
-               AliDebug(2,
-                       Form("%s has not DCS host entry - Shuttle will skip DCS data query!",
-                               fDetector.Data()));
-               fIsValid = kTRUE;
-               fSkipDCSQuery = kTRUE;
+               AliError("Unexpected: no DCS host!");
                return;
        }
 
        fDCSHost = anAttribute->GetValue();
 
-       anAttribute = entry->GetAttribute("DCSPort"); // MAY
+       anAttribute = entry->GetAttribute("dcsPort");
         if (!anAttribute)
        {
-               AliError(Form("Invalid configuration! %s has DCS Host but no port number!",
-                               fDetector.Data()));
+               AliError("Unexpected: no DCS port!");
                return;
         }
        TString portStr = anAttribute->GetValue();
        fDCSPort = portStr.Atoi();
 
-       anAttribute = entry->GetAttribute("DCSalias"); // MAY
+       anAttribute = entry->GetAttribute("dcsAlias"); // MAY
         if (anAttribute)
        {
                const char* anAlias;
@@ -248,7 +205,7 @@ fStrictRunOrder(kFALSE)
                }
        }
 
-       anAttribute = entry->GetAttribute("DCSdatapoint"); // MAY
+       anAttribute = entry->GetAttribute("dcsDP"); // MAY
         if (anAttribute)
        {
                const char* aDataPoint;
@@ -263,7 +220,7 @@ fStrictRunOrder(kFALSE)
 }
 
 //______________________________________________________________________________________________
-void AliShuttleConfig::AliShuttleConfigHolder::ExpandAndAdd(TObjArray* target, const char* entry)
+void AliShuttleConfig::AliShuttleDCSConfigHolder::ExpandAndAdd(TObjArray* target, const char* entry)
 {
        //
        // adds <entry> to <target> applying expanding of the name
@@ -320,13 +277,186 @@ void AliShuttleConfig::AliShuttleConfigHolder::ExpandAndAdd(TObjArray* target, c
 }
 
 //______________________________________________________________________________________________
-AliShuttleConfig::AliShuttleConfigHolder::~AliShuttleConfigHolder()
+AliShuttleConfig::AliShuttleDCSConfigHolder::~AliShuttleDCSConfigHolder()
 {
 // destructor of the shuttle configuration holder
 
        delete fDCSAliases;
        delete fDCSDataPoints;
+       delete fDCSAliasesComp;
+       delete fDCSDataPointsComp;      
+}
+
+//______________________________________________________________________________________________
+AliShuttleConfig::AliShuttleDetConfigHolder::AliShuttleDetConfigHolder(const TLDAPEntry* entry):
+fDetector(""),
+fDCSConfig(),
+fResponsibles(0),
+fIsValid(kFALSE),
+fSkipDCSQuery(kFALSE),
+fStrictRunOrder(kFALSE)
+{
+// constructor of the shuttle configuration holder
+
+       TLDAPAttribute* anAttribute;
+       
+       fResponsibles = new TObjArray();
+       fResponsibles->SetOwner(1);
+       fDCSConfig = new TObjArray();
+       fDCSConfig->SetOwner(1);
+
+       anAttribute = entry->GetAttribute("det"); // MUST
+        if (!anAttribute)
+       {
+               AliError(Form("No \"det\" attribute!"));
+               return;
+        }
+       fDetector = anAttribute->GetValue();
+
+       anAttribute = entry->GetAttribute("strictRunOrder"); // MAY
+        if (!anAttribute)
+       {
+               AliWarning(Form("%s did not set strictRunOrder flag - the default is FALSE",
+                               fDetector.Data()));
+        } else {
+               TString strictRunStr = anAttribute->GetValue();
+               if (!(strictRunStr == "0" || strictRunStr == "1"))
+               {
+                       AliError("strictRunOrder flag must be 0 or 1!");
+                       return;
+               }
+               fStrictRunOrder = (Bool_t) strictRunStr.Atoi();
+       }
+
+       anAttribute = entry->GetAttribute("responsible"); // MAY
+        if (!anAttribute)
+       {
+               AliDebug(2, "Warning! No \"responsible\" attribute!");
+        }
+       else
+       {
+               const char* aResponsible;
+               while ((aResponsible = anAttribute->GetValue()))
+               {
+                       fResponsibles->AddLast(new TObjString(aResponsible));
+               }
+       }
+
+       fIsValid = kTRUE;
+}
+
+//______________________________________________________________________________________________
+AliShuttleConfig::AliShuttleDetConfigHolder::~AliShuttleDetConfigHolder()
+{
+// destructor of the shuttle configuration holder
+
        delete fResponsibles;
+       delete fDCSConfig;
+}
+
+//______________________________________________________________________________________________
+const char* AliShuttleConfig::AliShuttleDetConfigHolder::GetDCSHost(Int_t iServ) const
+{
+       //
+       // returns DCS server host 
+       //
+       
+       if (iServ < 0 || iServ >= GetNServers()) return 0;
+       
+       AliShuttleDCSConfigHolder *aHolder = dynamic_cast<AliShuttleDCSConfigHolder *> 
+                                                       (fDCSConfig->At(iServ));
+       
+       return aHolder->GetDCSHost();
+}
+
+//______________________________________________________________________________________________
+Int_t AliShuttleConfig::AliShuttleDetConfigHolder::GetDCSPort(Int_t iServ) const
+{
+       //
+       // returns DCS server port 
+       //
+       
+       if (iServ < 0 || iServ >= GetNServers()) return 0;
+       
+       AliShuttleDCSConfigHolder *aHolder = dynamic_cast<AliShuttleDCSConfigHolder *> 
+                                                       (fDCSConfig->At(iServ));
+       
+       return aHolder->GetDCSPort();
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::AliShuttleDetConfigHolder::GetDCSAliases(Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the set of aliases
+       // which used for data retrieval for particular detector
+       //
+       
+       if (iServ < 0 || iServ >= GetNServers()) return 0;
+       
+       AliShuttleDCSConfigHolder *aHolder = dynamic_cast<AliShuttleDCSConfigHolder *> 
+                                                       (fDCSConfig->At(iServ));
+       
+       return aHolder->GetDCSAliases();
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::AliShuttleDetConfigHolder::GetDCSDataPoints(Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the set of aliases
+       // which used for data retrieval for particular detector
+       //
+
+       if (iServ < 0 || iServ >= GetNServers()) return 0;
+
+       AliShuttleDCSConfigHolder *aHolder = dynamic_cast<AliShuttleDCSConfigHolder *> 
+                                                       (fDCSConfig->At(iServ));
+       
+       return aHolder->GetDCSDataPoints();
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::AliShuttleDetConfigHolder::GetCompactDCSAliases(Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the set of aliases
+       // which used for data retrieval for particular detector (Compact style)
+       //
+
+       if (iServ < 0 || iServ >= GetNServers()) return 0;
+
+       AliShuttleDCSConfigHolder *aHolder = dynamic_cast<AliShuttleDCSConfigHolder *> 
+                                                       (fDCSConfig->At(iServ));
+       
+       return aHolder->GetCompactDCSAliases();
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::AliShuttleDetConfigHolder::GetCompactDCSDataPoints(Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the set of aliases
+       // which used for data retrieval for particular detector (Compact style)
+       //
+
+       if (iServ < 0 || iServ >= GetNServers()) return 0;
+
+       AliShuttleDCSConfigHolder *aHolder = dynamic_cast<AliShuttleDCSConfigHolder *> 
+                                                       (fDCSConfig->At(iServ));
+       
+       return aHolder->GetCompactDCSDataPoints();
+}
+
+//______________________________________________________________________________________________
+void AliShuttleConfig::AliShuttleDetConfigHolder::AddDCSConfig(AliShuttleDCSConfigHolder* holder)
+{
+       //
+       // adds a DCS configuration set in the array of DCS configurations
+       // 
+       
+       if(!holder) return;
+       fDCSConfig->AddLast(holder);
 }
 
 ClassImp(AliShuttleConfig)
@@ -334,11 +464,24 @@ ClassImp(AliShuttleConfig)
 //______________________________________________________________________________________________
 AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
        const char* binddn, const char* password, const char* basedn):
-       fIsValid(kFALSE), fConfigHost(host),
-       fDAQlbHost(""), fDAQlbPort(), fDAQlbUser(""), fDAQlbPass(""),
-       fDAQlbDB(""), fDAQlbTable(""), fShuttlelbTable(""), fRunTypelbTable(""),
-       fMaxRetries(0), fPPTimeOut(0), fPPMaxMem(0), fDetectorMap(), fDetectorList(),
-       fShuttleInstanceHost(""), fProcessedDetectors(), fProcessAll(kFALSE)
+       fConfigHost(host), 
+       fDAQlbHost(""), 
+       fDAQlbPort(), 
+       fDAQlbUser(""), 
+       fDAQlbPass(""),
+       fDAQlbDB(""), 
+       fDAQlbTable(""), 
+       fShuttlelbTable(""), 
+       fRunTypelbTable(""),
+       fMaxRetries(0), 
+       fPPTimeOut(0), 
+       fPPMaxMem(0), 
+       fDetectorMap(), 
+       fDetectorList(),
+       fShuttleInstanceHost(""), 
+       fProcessedDetectors(), 
+       fProcessAll(kFALSE), 
+       fIsValid(kFALSE)
 {
        //
        // host: ldap server host
@@ -346,10 +489,9 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
        // binddn: binddn used for ldap binding (simple bind is used!).
        // password: password for binddn
        // basedn: this is basedn whose childeren entries which have
-       // (objectClass=shuttleConfig) will be used as detector configurations.
        //
 
-       fDetectorMap.SetOwner();
+       fDetectorMap.SetOwner(1);
        fDetectorList.SetOwner(0); //fDetectorList and fDetectorMap share the same object!
        fProcessedDetectors.SetOwner();
 
@@ -362,107 +504,317 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
        }
 
        // reads configuration for the shuttle running on this machine
-
-       fShuttleInstanceHost = gSystem->HostName();
-       TString queryFilter = Form("(ShuttleHost=%s)", fShuttleInstanceHost.Data());
-
-       TLDAPResult* aResult = aServer.Search(basedn, LDAP_SCOPE_ONELEVEL, queryFilter.Data());
-
-       if (!aResult) {
-               AliError(Form("Can't find configuration with base DN: %s",
-                               basedn));
+       
+       TLDAPResult* aResult = 0;
+       TLDAPEntry* anEntry = 0;
+       
+       TList dcsList;
+       dcsList.SetOwner(1);
+       TList detList;
+       detList.SetOwner(1);
+       TList globalList;
+       globalList.SetOwner(1);
+       TList sysList;
+       sysList.SetOwner(1);
+       TList hostList;
+       hostList.SetOwner(1);
+       
+       aResult = aServer.Search(basedn, LDAP_SCOPE_SUBTREE, 0, 0);
+       
+       if (!aResult) 
+       {
+               AliError(Form("Can't find configuration with base DN: %s !", basedn));
                return;
        }
-
-       if (aResult->GetCount() == 0) {
-               AliError(Form("No Shuttle instance for host = %s!",
-                                       fShuttleInstanceHost.Data()));
-               AliError(Form("All detectors will be processed."));
-               fProcessAll=kTRUE;
+       
+       while ((anEntry = aResult->GetNext())) 
+       {
+               TString dn = anEntry->GetDn();
+               
+               if (dn.BeginsWith("dcsHost=")) 
+               {
+                       dcsList.Add(anEntry);
+               } 
+               else if (dn.BeginsWith("det="))
+               {
+                       detList.Add(anEntry);
+               }
+               else if (dn.BeginsWith("name=globalConfig"))
+               {
+                       globalList.Add(anEntry);
+               }
+               else if (dn.BeginsWith("system="))
+               {
+                       sysList.Add(anEntry);
+               }
+               else if (dn.BeginsWith("shuttleHost="))
+               {
+                       hostList.Add(anEntry);
+               }
+               else 
+               {
+                       delete anEntry;
+               }
+       
        }
-
-       if (aResult->GetCount() > 1) {
-               AliError(Form("More than one Shuttle instance for host %s!",
-                                       fShuttleInstanceHost.Data()));
-               delete aResult;
-               return;
+       delete aResult;
+       
+       Int_t result=0;
+       
+       result += SetGlobalConfig(&globalList);
+       result += SetSysConfig(&sysList);
+       result += SetDetConfig(&detList,&dcsList);
+       result += SetHostConfig(&hostList);
+       
+       if(result) 
+       {
+               AliError("Configuration is INVALID!");
        }
-
-       TLDAPEntry* anEntry = 0;
-       TLDAPAttribute* anAttribute = 0;
-
-       if(!fProcessAll){
-               anEntry = aResult->GetNext();
-               anAttribute = anEntry->GetAttribute("detectors");
-               const char *detName;
-               while((detName = anAttribute->GetValue())){
-                       TObjString *objDet= new TObjString(detName);
-                       fProcessedDetectors.Add(objDet);
-               }
+       else 
+       {
+               fIsValid = kTRUE;
        }
+}
 
-       delete anEntry; delete aResult;
-
-       // Detector configuration (DCS Archive DB settings)
+//______________________________________________________________________________________________
+AliShuttleConfig::~AliShuttleConfig()
+{
+// destructor
 
-       aResult = aServer.Search(basedn, LDAP_SCOPE_ONELEVEL, "(objectClass=AliShuttleDetector)");
-       if (!aResult) {
-               AliError(Form("Can't find configuration with base DN: %s", basedn));
-               return;
-       }
+       fDetectorMap.DeleteAll();
+       fDetectorList.Clear();
+       fProcessedDetectors.Delete();
+}
 
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::GetDetectors() const
+{
+       //
+       // returns collection of TObjString which contains the name
+       // of every detector which is in the configuration.
+       //
 
-       while ((anEntry = aResult->GetNext())) {
-               AliShuttleConfigHolder* aHolder = new AliShuttleConfigHolder(anEntry);
-               delete anEntry;
+       return &fDetectorList;
+}
 
-               if (!aHolder->IsValid()) {
-                       AliError("Detector configuration error!");
-                       delete aHolder;
-                       delete aResult;
-                       return;
-               }
+//______________________________________________________________________________________________
+Bool_t AliShuttleConfig::HasDetector(const char* detector) const
+{
+       //
+       // checks for paricular detector in the configuration.
+       //
+       return fDetectorMap.GetValue(detector) != NULL;
+}
 
-               TObjString* detStr = new TObjString(aHolder->GetDetector());
-               fDetectorMap.Add(detStr, aHolder);
-               fDetectorList.AddLast(detStr);
+//______________________________________________________________________________________________
+Int_t AliShuttleConfig::GetNServers(const char* detector) const
+{
+       //
+       // returns number of DCS servers for detector
+       //
+       
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+       if (!aHolder) {
+               AliError(Form("There isn't configuration for detector: %s",
+                       detector));
+               return 0;
        }
 
-       delete aResult;
-
-       // Global configuration (DAQ logbook)
+       return aHolder->GetNServers();
+}
 
-       aResult = aServer.Search(basedn, LDAP_SCOPE_ONELEVEL,
-                       "(objectClass=AliShuttleGlobalConfig)");
-       if (!aResult) {
-               AliError(Form("Can't find configuration with base DN: %s",
-                               basedn));
-               return;
-       }
 
-       if (aResult->GetCount() == 0) {
-               AliError("Can't find DAQ logbook configuration!");
-               delete aResult;
-               return;
+//______________________________________________________________________________________________
+const char* AliShuttleConfig::GetDCSHost(const char* detector, Int_t iServ) const
+{
+       //
+       // returns i-th DCS server host used by particular detector
+       //
+       
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+       if (!aHolder) {
+               AliError(Form("There isn't configuration for detector: %s",
+                       detector));
+               return NULL;
        }
 
-       if (aResult->GetCount() > 1) {
-               AliError("More than one DAQ logbook configuration found!");
-               delete aResult;
-               return;
+       return aHolder->GetDCSHost(iServ);
+}
+
+//______________________________________________________________________________________________
+Int_t AliShuttleConfig::GetDCSPort(const char* detector, Int_t iServ) const
+{
+       //
+        // returns i-th DCS server port used by particular detector
+        //
+
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder) {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return 0;
+        }
+
+       return aHolder->GetDCSPort(iServ);
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::GetDCSAliases(const char* detector, Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the i-th set of aliases
+       // which used for data retrieval for particular detector
+       //
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder) {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return NULL;
+        }
+
+       return aHolder->GetDCSAliases(iServ);
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::GetDCSDataPoints(const char* detector, Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the set of aliases
+       // which used for data retrieval for particular detector
+       //
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder) {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return NULL;
+        }
+
+       return aHolder->GetDCSDataPoints(iServ);
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::GetCompactDCSAliases(const char* detector, Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the i-th set of aliases
+       // which used for data retrieval for particular detector (Compact style)
+       //
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder) {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return NULL;
+        }
+
+       return aHolder->GetCompactDCSAliases(iServ);
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::GetCompactDCSDataPoints(const char* detector, Int_t iServ) const
+{
+       //
+       // returns collection of TObjString which represents the set of aliases
+       // which used for data retrieval for particular detector (Compact style)
+       //
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder) {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return NULL;
+        }
+
+       return aHolder->GetCompactDCSDataPoints(iServ);
+}
+
+//______________________________________________________________________________________________
+const TObjArray* AliShuttleConfig::GetResponsibles(const char* detector) const
+{
+       //
+       // returns collection of TObjString which represents the list of mail addresses
+       // of the detector's responsible(s)
+       //
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder) {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return NULL;
+        }
+
+       return aHolder->GetResponsibles();
+}
+
+//______________________________________________________________________________________________
+Bool_t AliShuttleConfig::HostProcessDetector(const char* detector) const
+{
+       // return TRUE if detector is handled by host or if fProcessAll is TRUE
+
+       if(fProcessAll) return kTRUE;
+       TIter iter(&fProcessedDetectors);
+       TObjString* detName;
+       while((detName = (TObjString*) iter.Next())){
+               if(detName->String() == detector) return kTRUE;
        }
+       return kFALSE;
+}
+
+//______________________________________________________________________________________________
+Bool_t AliShuttleConfig::StrictRunOrder(const char* detector) const
+{
+       // return TRUE if detector wants strict run ordering of stored data
+
+       AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) fDetectorMap.GetValue(detector);
+        if (!aHolder)
+       {
+                AliError(Form("There isn't configuration for detector: %s",
+                        detector));
+                return kTRUE;
+        }
 
-       anEntry = aResult->GetNext();
+       return aHolder->StrictRunOrder();
+}
 
-       anAttribute = anEntry->GetAttribute("DAQLogbookHost");
+//______________________________________________________________________________________________
+UInt_t AliShuttleConfig::SetGlobalConfig(TList* list)
+{
+       // Set the global configuration (DAQ Logbook + preprocessor monitoring settings)
+
+       TLDAPEntry* anEntry = 0;
+       TLDAPAttribute* anAttribute = 0;
+       
+       if (list->GetEntries() == 0) 
+       {
+               AliError("Global configuration not found!");
+               return 1;
+       } 
+       else if (list->GetEntries() > 1)
+       {
+               AliError("More than one global configuration found!");
+               return 2;
+       }
+       
+       anEntry = dynamic_cast<TLDAPEntry*> (list->At(0));
+       
+       if (!anEntry)
+       {
+               AliError("Unexpected! Global list does not contain a TLDAPEntry");
+               return 3;
+       } 
+       
+       
+       anAttribute = anEntry->GetAttribute("daqLbHost");
        if (!anAttribute) {
-               AliError("Can't find DAQLogbookHost attribute!");
-               delete anEntry; delete aResult;
-               return;
+               AliError("Can't find daqLbHost attribute!");
+               return 4;
        }
        fDAQlbHost = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("DAQLogbookPort"); // MAY
+       anAttribute = anEntry->GetAttribute("daqLbPort"); // MAY
        if (anAttribute)
        {
                fDAQlbPort = ((TString) anAttribute->GetValue()).Atoi();
@@ -470,112 +822,123 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
                fDAQlbPort = 3306; // mysql
        }
 
-       anAttribute = anEntry->GetAttribute("DAQLogbookUser");
+       anAttribute = anEntry->GetAttribute("daqLbUser");
        if (!anAttribute) {
-               AliError("Can't find DAQLogbookUser attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find daqLbUser attribute!");
+               return 4;
        }
        fDAQlbUser = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("DAQLogbookPassword");
+       anAttribute = anEntry->GetAttribute("daqLbPasswd");
        if (!anAttribute) {
-               AliError("Can't find DAQLogbookPassword attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find daqLbPasswd attribute!");
+               return 4;
        }
        fDAQlbPass = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("DAQLogbookDB");
+       anAttribute = anEntry->GetAttribute("daqLbDB");
        if (!anAttribute) {
-               AliError("Can't find DAQLogbookDB attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find daqLbDB attribute!");
+               return 4;
        }
        fDAQlbDB = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("DAQLogbookTable");
+       anAttribute = anEntry->GetAttribute("daqLbTable");
        if (!anAttribute) {
-               AliError("Can't find DAQLogbookTable attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find daqLbTable attribute!");
+               return 4;
        }
        fDAQlbTable = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("ShuttleLogbookTable");
+       anAttribute = anEntry->GetAttribute("shuttleLbTable");
        if (!anAttribute) {
-               AliError("Can't find ShuttleLogbookTable attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find shuttleLbTable attribute!");
+               return 4;
        }
        fShuttlelbTable = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("RunTypeLogbookTable");
+       anAttribute = anEntry->GetAttribute("runTypeLbTable");
        if (!anAttribute) {
-               AliError("Can't find RunTypeLogbookTable attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find runTypeLbTable attribute!");
+               return 4;
        }
        fRunTypelbTable = anAttribute->GetValue();
 
-       anAttribute = anEntry->GetAttribute("MaxRetries");
+       anAttribute = anEntry->GetAttribute("ppmaxRetries");
        if (!anAttribute) {
-               AliError("Can't find MaxRetries attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find ppmaxRetries attribute!");
+               return 4;
        }
        TString tmpStr = anAttribute->GetValue();
        fMaxRetries = tmpStr.Atoi();
 
-       anAttribute = anEntry->GetAttribute("PPTimeOut");
+       anAttribute = anEntry->GetAttribute("ppTimeOut");
        if (!anAttribute) {
-               AliError("Can't find PPTimeOut attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find ppTimeOut attribute!");
+               return 4;
        }
        tmpStr = anAttribute->GetValue();
        fPPTimeOut = tmpStr.Atoi();
 
-       anAttribute = anEntry->GetAttribute("PPMaxMem");
+       anAttribute = anEntry->GetAttribute("ppMaxMem");
        if (!anAttribute) {
-               AliError("Can't find PPMaxMem attribute!");
-               delete aResult; delete anEntry;
-               return;
+               AliError("Can't find ppMaxMem attribute!");
+               return 4;
        }
        tmpStr = anAttribute->GetValue();
        fPPMaxMem = tmpStr.Atoi();
        
-       delete aResult; delete anEntry;
+       return 0;
+       
+       
+}
 
-       // FXS configuration (FXS logbook and hosts)
+//______________________________________________________________________________________________
+UInt_t AliShuttleConfig::SetSysConfig(TList* list)
+{
+       // Set the online FXS configuration (DAQ + DCS + HLT)
+       
+       TLDAPEntry* anEntry = 0;
+       TLDAPAttribute* anAttribute = 0;
+       
+       if (list->GetEntries() != 3) 
+       {
+               AliError(Form("Wrong number of online systems found: %d !", list->GetEntries()));
+               return 1;
+       } 
 
-       for(int iSys=0;iSys<3;iSys++){
-               queryFilter = Form("(system=%s)", AliShuttleInterface::GetSystemName(iSys));
-               aResult = aServer.Search(basedn, LDAP_SCOPE_ONELEVEL, queryFilter.Data());
-               if (!aResult) {
-                       AliError(Form("Can't find configuration for system: %s",
-                                       AliShuttleInterface::GetSystemName(iSys)));
-                       return;
+       TIter iter(list);
+       Int_t iSys=0, count = 0;
+       while ((anEntry = dynamic_cast<TLDAPEntry*> (iter.Next())))
+       {
+               anAttribute = anEntry->GetAttribute("system");
+               TString sysName = anAttribute->GetValue();
+               
+               if (sysName == "DAQ") 
+               {
+                       iSys = 0;
+                       count += 1;
                }
-
-               if (aResult->GetCount() != 1 ) {
-                       AliError("Error in FXS configuration!");
-                       delete aResult;
-                       return;
+               else if (sysName == "DCS")
+               {
+                       iSys = 1;
+                       count += 10;
                }
-
-               anEntry = aResult->GetNext();
-
-               anAttribute = anEntry->GetAttribute("DBHost");
+               else if (sysName == "HLT")
+               {
+                       iSys = 2;
+                       count += 100;
+               }
+               
+               anAttribute = anEntry->GetAttribute("dbHost");
                if (!anAttribute) {
-                       AliError(Form ("Can't find DBHost attribute for %s!!",
+                       AliError(Form ("Can't find dbHost attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
                fFXSdbHost[iSys] = anAttribute->GetValue();
 
-               anAttribute = anEntry->GetAttribute("DBPort"); // MAY
+               anAttribute = anEntry->GetAttribute("dbPort"); // MAY
                if (anAttribute)
                {
                        fFXSdbPort[iSys] = ((TString) anAttribute->GetValue()).Atoi();
@@ -583,52 +946,47 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
                        fFXSdbPort[iSys] = 3306; // mysql
                }
 
-               anAttribute = anEntry->GetAttribute("DBUser");
+               anAttribute = anEntry->GetAttribute("dbUser");
                if (!anAttribute) {
-                       AliError(Form ("Can't find DBUser attribute for %s!!",
+                       AliError(Form ("Can't find dbUser attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
                fFXSdbUser[iSys] = anAttribute->GetValue();
 
-               anAttribute = anEntry->GetAttribute("DBPassword");
+               anAttribute = anEntry->GetAttribute("dbPasswd");
                if (!anAttribute) {
-                       AliError(Form ("Can't find DBPassword attribute for %s!!",
+                       AliError(Form ("Can't find dbPasswd attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
                fFXSdbPass[iSys] = anAttribute->GetValue();
 
-               anAttribute = anEntry->GetAttribute("DBName");
+               anAttribute = anEntry->GetAttribute("dbName");
                if (!anAttribute) {
-                       AliError(Form ("Can't find DBName attribute for %s!!",
+                       AliError(Form ("Can't find dbName attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
 
                fFXSdbName[iSys] = anAttribute->GetValue();
-               anAttribute = anEntry->GetAttribute("DBTable");
+               anAttribute = anEntry->GetAttribute("dbTable");
                if (!anAttribute) {
-                       AliError(Form ("Can't find DBTable attribute for %s!!",
+                       AliError(Form ("Can't find dbTable attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
                fFXSdbTable[iSys] = anAttribute->GetValue();
 
-               anAttribute = anEntry->GetAttribute("FSHost");
+               anAttribute = anEntry->GetAttribute("fxsHost");
                if (!anAttribute) {
-                       AliError(Form ("Can't find FSHost attribute for %s!!",
+                       AliError(Form ("Can't find fxsHost attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
                fFXSHost[iSys] = anAttribute->GetValue();
 
-               anAttribute = anEntry->GetAttribute("FSPort"); // MAY
+               anAttribute = anEntry->GetAttribute("fxsPort"); // MAY
                if (anAttribute)
                {
                        fFXSPort[iSys] = ((TString) anAttribute->GetValue()).Atoi();
@@ -636,173 +994,106 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
                        fFXSPort[iSys] = 22; // scp port number
                }
 
-               anAttribute = anEntry->GetAttribute("FSUser");
+               anAttribute = anEntry->GetAttribute("fxsUser");
                if (!anAttribute) {
-                       AliError(Form ("Can't find FSUser attribute for %s!!",
+                       AliError(Form ("Can't find fxsUser attribute for %s!!",
                                                AliShuttleInterface::GetSystemName(iSys)));
-                       delete aResult; delete anEntry;
-                       return;
+                       return 5;
                }
                fFXSUser[iSys] = anAttribute->GetValue();
 
-               anAttribute = anEntry->GetAttribute("FSPassword");
+               anAttribute = anEntry->GetAttribute("fxsPasswd");
                if (anAttribute) fFXSPass[iSys] = anAttribute->GetValue();
-
-               delete aResult; delete anEntry;
        }
-
-       fIsValid = kTRUE;
-}
-
-//______________________________________________________________________________________________
-AliShuttleConfig::~AliShuttleConfig()
-{
-// destructor
-
-       fDetectorMap.DeleteAll();
-       fDetectorList.Clear();
-       fProcessedDetectors.Delete();
-}
-
-//______________________________________________________________________________________________
-const TObjArray* AliShuttleConfig::GetDetectors() const
-{
-       //
-       // returns collection of TObjString which contains the name
-       // of every detector which is in the configuration.
-       //
-
-       return &fDetectorList;
-}
-
-//______________________________________________________________________________________________
-Bool_t AliShuttleConfig::HasDetector(const char* detector) const
-{
-       //
-       // checks for paricular detector in the configuration.
-       //
-       return fDetectorMap.GetValue(detector) != NULL;
-}
-
-//______________________________________________________________________________________________
-const char* AliShuttleConfig::GetDCSHost(const char* detector) const
-{
-       //
-       // returns DCS server host used by particular detector
-       //
        
-       AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) fDetectorMap.GetValue(detector);
-       if (!aHolder) {
-               AliError(Form("There isn't configuration for detector: %s",
-                       detector));
-               return NULL;
+       if(count != 111) {
+               AliError(Form("Wrong system configuration! (code = %d)", count));
+               return 6;
        }
-
-       return aHolder->GetDCSHost();
-}
-
-//______________________________________________________________________________________________
-Int_t AliShuttleConfig::GetDCSPort(const char* detector) const
-{
-       //
-        // returns DCS server port used by particular detector
-        //
-
-
-       AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) fDetectorMap.GetValue(detector);
-        if (!aHolder) {
-                AliError(Form("There isn't configuration for detector: %s",
-                        detector));
-                return 0;
-        }
-
-       return aHolder->GetDCSPort();
-}
-
-//______________________________________________________________________________________________
-const TObjArray* AliShuttleConfig::GetDCSAliases(const char* detector) const
-{
-       //
-       // returns collection of TObjString which represents the set of aliases
-       // which used for data retrieval for particular detector
-       //
-
-       AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) fDetectorMap.GetValue(detector);
-        if (!aHolder) {
-                AliError(Form("There isn't configuration for detector: %s",
-                        detector));
-                return NULL;
-        }
-
-       return aHolder->GetDCSAliases();
-}
-
-//______________________________________________________________________________________________
-const TObjArray* AliShuttleConfig::GetDCSDataPoints(const char* detector) const
-{
-       //
-       // returns collection of TObjString which represents the set of aliases
-       // which used for data retrieval for particular detector
-       //
-
-       AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) fDetectorMap.GetValue(detector);
-        if (!aHolder) {
-                AliError(Form("There isn't configuration for detector: %s",
-                        detector));
-                return NULL;
-        }
-
-       return aHolder->GetDCSDataPoints();
+       
+       return 0;
 }
 
 //______________________________________________________________________________________________
-const TObjArray* AliShuttleConfig::GetResponsibles(const char* detector) const
+UInt_t AliShuttleConfig::SetDetConfig(TList* detList, TList* dcsList)
 {
-       //
-       // returns collection of TObjString which represents the list of mail addresses
-       // of the detector's responsible(s)
-       //
+       // Set the detector configuration (general settings + DCS amanda server and alias/DP lists)
 
-       AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) fDetectorMap.GetValue(detector);
-        if (!aHolder) {
-                AliError(Form("There isn't configuration for detector: %s",
-                        detector));
-                return NULL;
-        }
-
-       return aHolder->GetResponsibles();
-}
+       TLDAPEntry* anEntry = 0;
+       
+       TIter iter(detList);
+       while ((anEntry = dynamic_cast<TLDAPEntry*> (iter.Next())))
+       {
+               
+               AliShuttleDetConfigHolder* detHolder = new AliShuttleDetConfigHolder(anEntry);
 
-//______________________________________________________________________________________________
-Bool_t AliShuttleConfig::HostProcessDetector(const char* detector) const
-{
-       // return TRUE if detector is handled by host or if fProcessAll is TRUE
+               if (!detHolder->IsValid()) {
+                       AliError("Detector configuration error!");
+                       delete detHolder;
+                       return 7;
+               }
 
-       if(fProcessAll) return kTRUE;
-       TIter iter(&fProcessedDetectors);
-       TObjString* detName;
-       while((detName = (TObjString*) iter.Next())){
-               if(detName->String() == detector) return kTRUE;
+               TObjString* detStr = new TObjString(detHolder->GetDetector());
+               
+               // Look for DCS Configuration
+               TIter dcsIter(dcsList);
+               TLDAPEntry *dcsEntry = 0;
+               while ((dcsEntry = dynamic_cast<TLDAPEntry*> (dcsIter.Next())))
+               {
+                       TString dn = dcsEntry->GetDn();
+                       if(dn.Contains(detStr->GetName())) {
+                               AliDebug(2, Form("Found DCS configuration: dn = %s",dn.Data()));
+                               AliShuttleDCSConfigHolder* dcsHolder = new AliShuttleDCSConfigHolder(dcsEntry);
+                               if (!dcsHolder->IsValid()) {
+                                       AliError("DCS configuration error!");
+                                       delete detHolder;
+                                       delete dcsHolder;
+                                       return 7;
+                               }
+                               detHolder->AddDCSConfig(dcsHolder);
+                       }
+               }
+               
+               
+               fDetectorMap.Add(detStr, detHolder);
+               fDetectorList.AddLast(detStr);
        }
-       return kFALSE;
+       
+       return 0;
 }
 
 //______________________________________________________________________________________________
-Bool_t AliShuttleConfig::StrictRunOrder(const char* detector) const
+UInt_t AliShuttleConfig::SetHostConfig(TList* list)
 {
-       // return TRUE if detector wants strict run ordering of stored data
-
-       AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) fDetectorMap.GetValue(detector);
-        if (!aHolder)
+       // Set the Shuttle machines configuration (which detectors processes each machine)
+       
+       TLDAPEntry* anEntry = 0;
+       TLDAPAttribute* anAttribute = 0;
+       
+       fShuttleInstanceHost = gSystem->HostName();
+       
+       TIter iter(list);
+       while ((anEntry = dynamic_cast<TLDAPEntry*> (iter.Next())))
        {
-                AliError(Form("There isn't configuration for detector: %s",
-                        detector));
-                return kTRUE;
-        }
-
-       return aHolder->StrictRunOrder();
+       
+               TString dn(anEntry->GetDn());
+               if (!dn.Contains(Form("shuttleHost=%s", fShuttleInstanceHost.Data()))) continue;
+               
+               if (!fProcessAll)
+               {
+                       anAttribute = anEntry->GetAttribute("detectors");
+                       const char *detName;
+                       while((detName = anAttribute->GetValue())){
+                               TObjString *objDet= new TObjString(detName);
+                               fProcessedDetectors.Add(objDet);
+                       }
+               }
+       }       
+       
+       return 0;
 }
 
+
 //______________________________________________________________________________________________
 void AliShuttleConfig::Print(Option_t* option) const
 {
@@ -832,7 +1123,8 @@ void AliShuttleConfig::Print(Option_t* option) const
                result += "\n";
        }
 
-       result += Form("PP time out = %d - Max PP memsize = %d KB - Max total retries = %d\n\n", fPPTimeOut, fPPMaxMem, fMaxRetries);
+       result += Form("PP time out = %d - max PP mem size = %d KB - max retries = %d\n\n", 
+                               fPPTimeOut, fPPMaxMem, fMaxRetries);
        result += "------------------------------------------------------\n";
 
        result += Form("Logbook Configuration \n\n \tHost: %s:%d; \tUser: %s; ",
@@ -863,12 +1155,18 @@ void AliShuttleConfig::Print(Option_t* option) const
 
        result += "------------------------------------------------------\n";
        result += "Detector-specific configuration\n\n";
+       
        TIter iter(fDetectorMap.GetTable());
-       TPair* aPair;
+       TPair* aPair = 0;
+       
+       AliInfo(Form("Option = %s", option));
+       
        while ((aPair = (TPair*) iter.Next())) {
-               AliShuttleConfigHolder* aHolder = (AliShuttleConfigHolder*) aPair->Value();
-               if (option != 0 && !optStr.Contains(aHolder->GetDetector()) && optStr.CompareTo("uncompact",TString::kIgnoreCase) != 0 )
+               AliShuttleDetConfigHolder* aHolder = (AliShuttleDetConfigHolder*) aPair->Value();
+               if (optStr != "" && !optStr.Contains(aHolder->GetDetector()) && 
+                               optStr.CompareTo("uncompact",TString::kIgnoreCase) != 0 )
                                continue;
+               
                result += Form("*** %s *** \n", aHolder->GetDetector());
 
                const TObjArray* responsibles = aHolder->GetResponsibles();
@@ -884,54 +1182,59 @@ void AliShuttleConfig::Print(Option_t* option) const
                        result += "\n";
                }
 
-               result += Form("\tStrict run ordering: %s \n", aHolder->StrictRunOrder() ? "YES" : "NO");
-               if(aHolder->SkipDCSQuery())
+               result += Form("\tStrict run ordering: %s \n\n", aHolder->StrictRunOrder() ? "YES" : "NO");
+               
+               const TObjArray* dcsConfig = aHolder->GetDCSConfig();
+               
+               AliShuttleDCSConfigHolder* dcsHolder = 0;
+               TIter dcsIter(dcsConfig);
+               Int_t count=0;
+               while ((dcsHolder = dynamic_cast<AliShuttleDCSConfigHolder*> (dcsIter.Next())))
                {
-                       result += "\n";
-                       continue;
-               }
-               result += Form("\tAmanda server: %s:%d \n", aHolder->GetDCSHost(), aHolder->GetDCSPort());
+                       result += Form("\tAmanda server [%d]: %s:%d \n", count,
+                               dcsHolder->GetDCSHost(), dcsHolder->GetDCSPort());
 
-               const TObjArray* aliases = 0;
-               if (optStr.Contains("uncompact",TString::kIgnoreCase))
-               {
-                       aliases = aHolder->GetDCSAliases();
-               } else {
-                       aliases = aHolder->GetCompactDCSAliases();
-               }
+                       const TObjArray* aliases = 0;
+                       if (optStr.Contains("uncompact",TString::kIgnoreCase))
+                       {
+                               aliases = dcsHolder->GetDCSAliases();
+                       } else {
+                               aliases = dcsHolder->GetCompactDCSAliases();
+                       }
 
-               if (aliases->GetEntries() != 0)
-               {
-                       result += "\tDCS Aliases: ";
-                       TIter it(aliases);
-                       TObjString* anAlias;
-                       while ((anAlias = (TObjString*) it.Next()))
+                       if (aliases->GetEntries() != 0)
                        {
-                               result += Form("%s ", anAlias->String().Data());
+                               result += Form("\tDCS Aliases [%d]: ", count);
+                               TIter it(aliases);
+                               TObjString* anAlias;
+                               while ((anAlias = (TObjString*) it.Next()))
+                               {
+                                       result += Form("%s ", anAlias->String().Data());
+                               }
+                               result += "\n";
                        }
-                       result += "\n";
-               }
 
-               const TObjArray* dataPoints = 0;
-               if (optStr.Contains("uncompact",TString::kIgnoreCase))
-               {
-                       dataPoints = aHolder->GetDCSDataPoints();
-               } else {
-                       dataPoints = aHolder->GetCompactDCSDataPoints();
-               }
-               if (dataPoints->GetEntries() != 0)
-               {
-                       result += "\tDCS Data Points: ";
-                       TIter it(dataPoints);
-                       TObjString* aDataPoint;
-                       while ((aDataPoint = (TObjString*) it.Next())) {
-                               result += Form("%s ", aDataPoint->String().Data());
+                       const TObjArray* dataPoints = 0;
+                       if (optStr.Contains("uncompact",TString::kIgnoreCase))
+                       {
+                               dataPoints = dcsHolder->GetDCSDataPoints();
+                       } else {
+                               dataPoints = dcsHolder->GetCompactDCSDataPoints();
                        }
+                       if (dataPoints->GetEntries() != 0)
+                       {
+                               result += Form("\tDCS Data Points [%d]: ", count);
+                               TIter it(dataPoints);
+                               TObjString* aDataPoint;
+                               while ((aDataPoint = (TObjString*) it.Next())) {
+                                       result += Form("%s ", aDataPoint->String().Data());
+                               }
                                result += "\n";
+                       }
+                       count++;
+                       result += "\n";
                }
-               result += "\n";
        }
-
        if(!fIsValid) result += "\n\n********** !!!!! Configuration is INVALID !!!!! **********\n";
 
        AliInfo(result);
index 006d7b4930e5d6cbc249fe7aa5c69b026baf21a7..f5c47533547af165ff840b4833ce568d1e7f4113 100644 (file)
@@ -58,12 +58,17 @@ public:
        const TObjArray* GetDetectors() const;
 
        Bool_t HasDetector(const char* detector) const;
-       const char* GetDCSHost(const char* detector) const;
-       Int_t GetDCSPort(const char* detector) const;
-       const TObjArray* GetDCSAliases(const char* detector) const;
-       const TObjArray* GetDCSDataPoints(const char* detector) const;
-       const TObjArray* GetCompactDCSAliases(const char* detector) const;
-       const TObjArray* GetCompactDCSDataPoints(const char* detector) const;
+       
+       Int_t GetNServers(const char* detector) const;
+       
+       const char* GetDCSHost(const char* detector, Int_t iServ) const;
+       Int_t GetDCSPort(const char* detector, Int_t iServ) const;
+       
+       const TObjArray* GetDCSAliases(const char* detector, Int_t iServ) const;
+       const TObjArray* GetDCSDataPoints(const char* detector, Int_t iServ) const;
+       const TObjArray* GetCompactDCSAliases(const char* detector, Int_t iServ) const;
+       const TObjArray* GetCompactDCSDataPoints(const char* detector, Int_t iServ) const;
+       
        const TObjArray* GetResponsibles(const char* detector) const;
        Bool_t StrictRunOrder(const char* detector) const;
 
@@ -76,49 +81,79 @@ public:
 
 private:
 
-       class AliShuttleConfigHolder: public TObject {
+       class AliShuttleDCSConfigHolder: public TObject {
        public:
-               AliShuttleConfigHolder(const TLDAPEntry* entry);
-               ~AliShuttleConfigHolder();
-
-               const char* GetDetector() const {return fDetector.Data();}
-               const char* GetDCSHost() const {return fDCSHost.Data();}
+               AliShuttleDCSConfigHolder(const TLDAPEntry* entry);
+               ~AliShuttleDCSConfigHolder();
+               
+               const char* GetDCSHost() const {return fDCSHost;}
                Int_t GetDCSPort() const {return fDCSPort;}
                const TObjArray* GetDCSAliases() const {return fDCSAliases;}
                const TObjArray* GetDCSDataPoints() const {return fDCSDataPoints;}
                const TObjArray* GetCompactDCSAliases() const {return fDCSAliasesComp;}
                const TObjArray* GetCompactDCSDataPoints() const {return fDCSDataPointsComp;}
-               const TObjArray* GetResponsibles() const {return fResponsibles;}
-
-               Bool_t IsValid() const {return fIsValid;}
-               Bool_t SkipDCSQuery() const {return fSkipDCSQuery;}
-               Bool_t StrictRunOrder() const {return fStrictRunOrder;}
-
+               
                void ExpandAndAdd(TObjArray* target, const char* entry);
+               Bool_t IsValid() const {return fIsValid;}
 
        private:
-               AliShuttleConfigHolder(const AliShuttleConfigHolder& other);  // not implemented
-               AliShuttleConfigHolder& operator= (const AliShuttleConfigHolder& other);  // not implemented
+               AliShuttleDCSConfigHolder(const AliShuttleDCSConfigHolder& other);  // not implemented
+               AliShuttleDCSConfigHolder& operator= (const AliShuttleDCSConfigHolder& other);  // not implemented
 
-               TString fDetector;      // Detector name
                TString fDCSHost;       // Host name of the DCS server
                Int_t   fDCSPort;       // port of the DCS server
                TObjArray* fDCSAliases; // List of DCS aliases to be retrieved
-               TObjArray* fDCSDataPoints; // List of DCS data points to be retrieved
-               TObjArray* fDCSAliasesComp; // Compact list of DCS aliases to be printed
+               TObjArray* fDCSDataPoints;     // List of DCS data points to be retrieved
+               TObjArray* fDCSAliasesComp;    // Compact list of DCS aliases to be printed
                TObjArray* fDCSDataPointsComp; // Compact list of DCS data points to be printed
+               Bool_t  fIsValid;              // flag for the validity of the configuration
+
+               ClassDef(AliShuttleDCSConfigHolder, 0);
+       };
+
+       class AliShuttleDetConfigHolder: public TObject {
+       public:
+               AliShuttleDetConfigHolder(const TLDAPEntry* entry);
+               ~AliShuttleDetConfigHolder();
+
+               const char* GetDetector() const {return fDetector.Data();}
+               const TObjArray* GetDCSConfig() const {return fDCSConfig;}
+               void AddDCSConfig(AliShuttleDCSConfigHolder* holder);
+
+               Int_t GetNServers() const {return fDCSConfig ? fDCSConfig->GetEntries() : 0;}
+               
+               const char* GetDCSHost(Int_t iServ) const;
+               Int_t GetDCSPort(Int_t iServ) const;
+               const TObjArray* GetDCSAliases(Int_t iServ) const;
+               const TObjArray* GetDCSDataPoints(Int_t iServ) const;
+               const TObjArray* GetCompactDCSAliases(Int_t iServ) const;
+               const TObjArray* GetCompactDCSDataPoints(Int_t iServ) const;
+               
+               const TObjArray* GetResponsibles() const {return fResponsibles;}                
+               Bool_t IsValid() const {return fIsValid;}
+               Bool_t SkipDCSQuery() const {return fSkipDCSQuery;}
+               Bool_t StrictRunOrder() const {return fStrictRunOrder;}
+
+       private:
+               AliShuttleDetConfigHolder(const AliShuttleDetConfigHolder& other);  // not implemented
+               AliShuttleDetConfigHolder& operator= (const AliShuttleDetConfigHolder& other);  // not implemented
+
+               TString fDetector;      // Detector name
+               TObjArray* fDCSConfig;  // Array of DCS configuration objects (AliShuttleDCSConfigHolder)
                TObjArray* fResponsibles; // List of email addresses of the detector's responsible(s)
                Bool_t fIsValid;        // flag for the validity of the configuration
                Bool_t fSkipDCSQuery;   // flag - if TRUE (-> DCS config empty) skip DCS archive data query
                Bool_t fStrictRunOrder; // flag - if TRUE connect data in a strict run ordering
 
-
-               ClassDef(AliShuttleConfigHolder, 0);
+               ClassDef(AliShuttleDetConfigHolder, 0);
        };
 
 
-       Bool_t fIsValid;                //! flag for the validity of the configuration
-
+       UInt_t SetGlobalConfig(TList* globalList);
+       UInt_t SetSysConfig(TList* sysList);
+       UInt_t SetDetConfig(TList* detList, TList* dcsList);
+       UInt_t SetHostConfig(TList* hostList);
+       
        TString fConfigHost;            //! Host of the Shuttle configuration LDAP server
 
        TString fDAQlbHost;             //! Host of the DAQ logbook MySQL Server
@@ -153,6 +188,7 @@ private:
        TString fShuttleInstanceHost;   //! Instance of the SHUTTLE
        TObjArray fProcessedDetectors;  //! list of the detector to be processed by this machine
        Bool_t fProcessAll;             //! flag indicating that all detectors will be processed
+       Bool_t fIsValid;                //! flag for the validity of the configuration
 
        ClassDef(AliShuttleConfig, 0);
 };
index 9211b5849a0643c4f42ab3e689286f980a7a5436..7e35bd698164820a045ca1df2ebad54782547eda 100644 (file)
@@ -1,12 +1,13 @@
-void GetValues(const char* host, Int_t port, const char* request,
+TMap* GetValues(const char* host, Int_t port, const char* request,
        UInt_t startTime, UInt_t endTime) 
 {
-       AliDCSClient client(host, port, 1000, 20);
+       AliDCSClient client(host, port, 1000, 20, 1);
+       // The last parameter switches from single alias to multi aliases!
 
-       Int_t result;
+       //Int_t result;
 
        TTimeStamp currentTime;
-       TMap values;
+       //TMap values;
 
        TString rString(request);
 
@@ -14,47 +15,48 @@ void GetValues(const char* host, Int_t port, const char* request,
 
        cout<<"Requests: "<<requests->GetEntries()<<endl;
 
+       TMap* values=0;
+       
        TStopwatch sw;
        sw.Start();
-
-       if (requests->GetEntries() > 0) {
-               TIter iter(requests);
-               TObjString* aString;
-               TObjArray* valueSet;
-               while ((aString = (TObjString*) iter.Next())) {
-                       cout<<"  Querying: "<<aString->GetName()<<endl;
-                       valueSet = new TObjArray();
-                       valueSet->SetOwner(1);
-
-                       result = client.GetAliasValues(aString->GetName(), startTime,
-                               endTime, valueSet);
-                       values.Add(aString->Clone(), valueSet);
-               }
-       }
-
-       if (result < 0) {
+       
+       if(requests->GetEntries() == 0) return NULL;
+
+//             TIter iter(requests);
+//             TObjString* aString;
+//             TObjArray* valueSet;
+//             while ((aString = (TObjString*) iter.Next())) {
+//                   cout<<"  Querying: "<<aString->GetName()<<endl;
+//                   valueSet = new TObjArray();
+//                   valueSet->SetOwner(1);
+// 
+//                     result = client.GetAliasValues(aString->GetName(), startTime,
+//                             endTime, valueSet);
+//                     values.Add(aString->Clone(), valueSet);
+//             }
+       values = client.GetAliasValues(requests, startTime, endTime);
+
+       if (!values) {
                cout<<"Communication failure: "<<
-                       AliDCSClient::GetErrorString(result)<<endl;
-
-               if (result == AliDCSClient::fgkServerError) {
-                       cout<<"Server error code: "<<
-                               client.GetServerErrorCode()<<endl;
-                       cout<<client.GetServerError()<<endl;
-               }
+                       client.GetServerError().Data() <<endl;
+               return NULL;
        }
        
        sw.Stop();
        cout<<"Elapsed time: "<<sw.RealTime()<<endl;
-       if (result > 0) {
-               cout<<"Time per value: "<<sw.RealTime()/result<<endl;
-       }
-       cout<<"Received values: "<<result<<endl;
 
-       TIter iter(&values);
+       cout<<"Time per alias: "<<sw.RealTime()/requests->GetEntries()<<endl;
+
+       cout<<"Received values: "<<endl;
+
+       Int_t nValues=0;
+
+       TIter iter(values);
        TObjString* aRequest;
        while ((aRequest = (TObjString*) iter.Next())) {
 
-               TObjArray* valueSet = (TObjArray*) values.GetValue(aRequest);
+               TObjArray* valueSet = (TObjArray*) values->GetValue(aRequest);
                
                cout<<" '"<<aRequest->String()<<"' values: " 
                        <<valueSet->GetEntriesFast()<<endl;
@@ -63,8 +65,12 @@ void GetValues(const char* host, Int_t port, const char* request,
                AliDCSValue* aValue;
                while ((aValue = (AliDCSValue*) valIter.Next())) {
                        cout<<aValue->ToString()<<endl;
+                       nValues++;
                } 
        }
+       
+       cout<<"Number of received values: "<< nValues <<endl;
+       
 
 /*
        TFile file("dump.root", "UPDATE");
@@ -73,15 +79,17 @@ void GetValues(const char* host, Int_t port, const char* request,
        file.Close(); 
 */
 
-       values.DeleteAll();
-       delete requests;
+       //values.DeleteAll();
+       //delete requests;
 
        cout<<"All values returned in runrange:  "<<endl;
        cout<<"StartTime: "<<TTimeStamp(startTime).AsString()<<endl;
        cout<<"EndTime: "<<TTimeStamp(endTime).AsString()<<endl;
+       
+       return values;
 }
 
-void TestClientAlias(const char* host, Int_t port, const char* request,
+TMap* TestClientAlias(const char* host, Int_t port, const char* request,
        UInt_t startShift, UInt_t endShift) {
 
        gSystem->Load("$ALICE_ROOT/SHUTTLE/DCSClient/AliDCSClient");
@@ -91,9 +99,14 @@ void TestClientAlias(const char* host, Int_t port, const char* request,
 
        TTimeStamp currentTime;
 
-       GetValues(host, port, request,
+       TMap* values = GetValues(host, port, request,
                currentTime.GetSec() - startShift, 
                currentTime.GetSec() - endShift);
 
-       cout<<"Client done"<<endl;
+       if(values) values->Print();
+
+       cout << endl;
+       cout <<"Client done"<<endl;
+       
+       return values;
 }
index 639dca87b306f334923c33a6b9aea813d0e7fc2f..3df0144c258f8cc6602d541d316a089129581fc4 100644 (file)
@@ -1,9 +1,8 @@
 void TestMultialiases(){
 // Simple test for the multi request query
 
-gSystem->Load("AliDCSClient.so");
- AliDCSClient client("aldcs053.cern.ch",4242,1000,5);
-
+gSystem->Load("$ALICE_ROOT/SHUTTLE/DCSClient/AliDCSClient.so");
+ AliDCSClient client("aldcs053.cern.ch",4242,1000,5,100);
 
 //TObjArray *arr = new TObjArray();
 //arr->SetOwner(1);
@@ -12,18 +11,13 @@ gSystem->Load("AliDCSClient.so");
 
 
 TList list;
-list.Add(new TObjString("tpc_PT_322.Temperature"));
-list.Add(new TObjString("tpc_PT_323.Temperature"));
-list.Add(new TObjString("tpc_PT_324.Temperature"));
-list.Add(new TObjString("tpc_PT_325.Temperature"));
-list.Add(new TObjString("tpc_PT_326.Temperature"));
-list.Add(new TObjString("tpc_PT_327.Temperature"));
-list.Add(new TObjString("tpc_PT_328.Temperature"));
-list.Add(new TObjString("tpc_PT_329.Temperature"));
-list.Add(new TObjString("tpc_PT_330.Temperature"));
-list.Add(new TObjString("tpc_PT_331.Temperature"));
-
-TMap *map = client.GetAliasValues(&list, 1180586575, 1180686575, 2, 4);
+list.Add(new TObjString("tof_hv_vp_00"));
+list.Add(new TObjString("tof_hv_vp_01"));
+list.Add(new TObjString("tof_hv_vp_02"));
+list.Add(new TObjString("tof_hv_vp_03"));
+list.Add(new TObjString("tof_hv_vp_04"));
+
+TMap *map = client.GetAliasValues(&list, 1180586575, 1180686575, 0, 5);
 
 TIter iter(map);
 TObjString *objstr=0;
index 6b1ea86238a4aa34652c23f4223bc350107042d1..2d32c4b85bc2d7f675b2645ec97c7a9039ddba77 100644 (file)
@@ -17,7 +17,8 @@
 
 // Shuttle classes ...
 #pragma link C++ class  AliShuttleConfig;
-#pragma link C++ class  AliShuttleConfig::AliShuttleConfigHolder;
+#pragma link C++ class  AliShuttleConfig::AliShuttleDCSConfigHolder;
+#pragma link C++ class  AliShuttleConfig::AliShuttleDetConfigHolder;
 #pragma link C++ class  AliShuttle;
 #pragma link C++ class  AliShuttleTrigger;
 #pragma link C++ class  TerminateSignalHandler;
index 6b07876a1d0488de9e18100041d206871d0df007..8dbb488598fd780801654f419518b4814e4d1b22 100644 (file)
@@ -1,18 +1,13 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Mon Jan 22 17:42:28 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=MCH,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# ACO config
 dn: det=ACO,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: ACO
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: pedro.gonzalez@fcfm.buap.mx
 responsible: irais@fcfm.buap.mx
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: ACO_HV_MODULE[00..59]
+
+dn: dcsHost=aldcs052.cern.ch,det=ACO,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: ACO_HV_MODULE[00..59]
index a285eeef4280429a7e66188407c152712fda8470..3f8d6deeede37837a6d3692fa2b84e5b2c5c0e5e 100644 (file)
@@ -1,23 +1,15 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Wed Feb 28 11:34:50 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: system=DAQ,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# DAQ config
 dn: system=DAQ,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleSYSConfig
+objectClass: fxsConfig
 system: DAQ
-DBPassword: alice
-DBHost: aldaqgw01-gpn.cern.ch
-DBUser: shuttle
-DBName: SHUTTLE_TEST
-DBTable: daqFES_files
-FSHost: aldaqgw01-gpn.cern.ch
-FSUser: shuttle
-DBPort: 1434
-FSPort: 1433
+dbHost: aldaqgw01-gpn.cern.ch
+dbPort: 1434
+dbPasswd: alice
+dbUser: shuttle
+dbName: SHUTTLE_TEST
+dbTable: daqFES_files
+fxsHost: aldaqgw01-gpn.cern.ch
+fxsPort: 1433
+fxsUser: shuttle
 
index 74ff69fc302a3f7577cddd611db64e9b6d316e19..ea054bf931051a1f32e41b05df36f24fd3a195a9 100644 (file)
@@ -1,21 +1,13 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Wed Feb 28 11:34:56 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: system=DCS,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# DCS config
 dn: system=DCS,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleSYSConfig
+objectClass: fxsConfig
 system: DCS
-DBHost: aldcs030.cern.ch
-DBUser: shuttle
-DBPassword: DCS4Offline
-DBName: dcsfileserver
-DBTable: dcsfes
-FSHost: aldcs030.cern.ch
-FSUser: sshd
+dbHost: aldcs030.cern.ch
+dbUser: shuttle
+dbPasswd: DCS4Offline
+dbName: dcsfileserver
+dbTable: dcsfes
+fxsHost: aldcs030.cern.ch
+fxsUser: sshd
 
index b4347e98c1a3be468c6e1f969a558f7e356df503..ca19cdaadda51fc3e12f99390c46619c71d88089 100644 (file)
@@ -1,16 +1,12 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Fri Aug 31 10:27:05 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=EMC,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# EMC config
 dn: det=EMC,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: EMC
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: gustavo.conesa.balbastre@cern.ch
 
+dn: dcsHost=aldcs052.cern.ch,det=EMC,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
index 87dc7eff0e23a930219f41cb36864b74a6a9b632..ba33bbb48ca9f39e9c2acf81845476e3fda71027 100644 (file)
@@ -1,18 +1,21 @@
 # GRP config
 dn: det=GRP,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: GRP
-StrictRunOrder: 0
-responsible: not_yet_set
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: LHCState
-DCSalias: LHCPeriod
-DCSalias: LHCLuminosity
-DCSalias: BeamIntensity
-DCSalias: L3Current
-DCSalias: DipoleCurrent
-DCSalias: L3Polarity
-DCSalias: DipolePolarity
-DCSalias: CavernTemperature
-DCSalias: CavernAtmosPressure
+strictRunOrder: 0
+responsible: Panos.Christakoglou@cern.ch
+
+dn: dcsHost=aldcs052.cern.ch,det=GRP,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: LHCState
+dcsAlias: LHCPeriod
+dcsAlias: LHCLuminosity
+dcsAlias: BeamIntensity
+dcsAlias: L3Current
+dcsAlias: DipoleCurrent
+dcsAlias: L3Polarity
+dcsAlias: DipolePolarity
+dcsAlias: CavernTemperature
+dcsAlias: CavernAtmosPressure
index 067360686632cc92de07bb554e9349d73fa906ad..13281af3d04a91980970405f5907f7ed20e9db1d 100644 (file)
@@ -1,17 +1,17 @@
 # Global config
-dn: name=GlobalConfig,o=alice,dc=cern,dc=ch
+dn: name=globalConfig,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleGlobalConfig
-name: GlobalConfig
-DAQLogbookPassword: alice
-DAQLogbookHost: aldaqgw01-gpn.cern.ch
-DAQLogbookUser: shuttle
-DAQLogbookDB: SHUTTLE_TEST
-DAQLogbookPort: 1434
-DAQLogbookTable: logbook
-ShuttleLogbookTable: logbook_shuttle
-RunTypeLogbookTable: logbook_detectors
-PPTimeOut: 3600
-PPMaxMem: 2097152
-MaxRetries: 2
+objectClass: globalConfig
+name: globalConfig
+daqLbHost: aldaqgw01-gpn.cern.ch
+daqLbUser: shuttle
+daqLbPasswd: alice
+daqLbDB: SHUTTLE_TEST
+daqLbPort: 1434
+daqLbTable: logbook
+shuttleLbTable: logbook_shuttle
+runTypeLbTable: logbook_detectors
+ppTimeOut: 3600
+ppMaxMem: 2097152
+ppMaxRetries: 2
 
index 798d7d59112042393f4dcf8f13999b1dbfa35b2e..f1a6b711f796ae3f31e9bb00be27ee2d0b026c85 100644 (file)
@@ -1,21 +1,13 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Fri Aug 31 10:28:10 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: system=HLT,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# HLT Config
 dn: system=HLT,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleSYSConfig
+objectClass: fxsConfig
 system: HLT
-DBUser: shuttle
-DBPassword: 0ffl1n3-5huttl3
-DBName: hlt_logbook
-DBTable: calib_data
-DBHost: alihlt-shuttle1.cern.ch
-FSHost: alihlt-shuttle1.cern.ch
-FSUser: hlt-fxs
+dbUser: shuttle
+dbPasswd: 0ffl1n3-5huttl3
+dbName: hlt_logbook
+dbTable: calib_data
+dbHost: alihlt-shuttle1.cern.ch
+fxsHost: alihlt-shuttle1.cern.ch
+fxsUser: hlt-fxs
 
index b2012622b8987ee9e7f98527f811a4f50aa5324b..8e2582f4fb6815ef6708feaf50cfd2509ad26f2b 100644 (file)
 # HMP config
 dn: det=HMP,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: HMP
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: Giacomo.Volpe@ba.infn.it 
 responsible: Domenico.Dibari@ba.infn.it
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC0/HMP_MP0_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC1/HMP_MP0_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC2/HMP_MP0_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC3/HMP_MP0_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC4/HMP_MP0_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC5/HMP_MP0_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC0/HMP_MP1_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC1/HMP_MP1_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC2/HMP_MP1_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC3/HMP_MP1_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC4/HMP_MP1_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC5/HMP_MP1_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC0/HMP_MP2_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC1/HMP_MP2_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC2/HMP_MP2_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC3/HMP_MP2_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC4/HMP_MP2_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC5/HMP_MP2_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC0/HMP_MP3_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC1/HMP_MP3_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC2/HMP_MP3_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC3/HMP_MP3_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC4/HMP_MP3_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC5/HMP_MP3_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC0/HMP_MP4_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC1/HMP_MP4_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC2/HMP_MP4_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC3/HMP_MP4_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC4/HMP_MP4_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC5/HMP_MP4_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC0/HMP_MP5_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC1/HMP_MP5_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC2/HMP_MP5_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC3/HMP_MP5_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC4/HMP_MP5_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC5/HMP_MP5_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC0/HMP_MP6_SEC0_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC1/HMP_MP6_SEC1_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC2/HMP_MP6_SEC2_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC3/HMP_MP6_SEC3_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC4/HMP_MP6_SEC4_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC5/HMP_MP6_SEC5_HV.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC0/HMP_MP0_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC1/HMP_MP0_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC2/HMP_MP0_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC3/HMP_MP0_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC4/HMP_MP0_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC5/HMP_MP0_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC0/HMP_MP1_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC1/HMP_MP1_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC2/HMP_MP1_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC3/HMP_MP1_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC4/HMP_MP1_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC5/HMP_MP1_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC0/HMP_MP2_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC1/HMP_MP2_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC2/HMP_MP2_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC3/HMP_MP2_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC4/HMP_MP2_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC5/HMP_MP2_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC0/HMP_MP3_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC1/HMP_MP3_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC2/HMP_MP3_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC3/HMP_MP3_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC4/HMP_MP3_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC5/HMP_MP3_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC0/HMP_MP4_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC1/HMP_MP4_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC2/HMP_MP4_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC3/HMP_MP4_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC4/HMP_MP4_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC5/HMP_MP4_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC0/HMP_MP5_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC1/HMP_MP5_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC2/HMP_MP5_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC3/HMP_MP5_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC4/HMP_MP5_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC5/HMP_MP5_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC0/HMP_MP6_SEC0_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC1/HMP_MP6_SEC1_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC2/HMP_MP6_SEC2_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC3/HMP_MP6_SEC3_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC4/HMP_MP6_SEC4_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC5/HMP_MP6_SEC5_HV.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_GRID.actual.vMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_GRID.actual.iMon
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_GAS/HMP_MP0_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_GAS/HMP_MP1_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_GAS/HMP_MP2_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_GAS/HMP_MP3_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_GAS/HMP_MP4_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_GAS/HMP_MP5_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_GAS/HMP_MP6_GAS_PMWC.actual.value
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_GAS_PBOX.actual.value
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
-DCSalias: HMP_DET/HMP_MP0/HMP_MP0_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_MP1/HMP_MP1_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_MP2/HMP_MP2_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_MP3/HMP_MP3_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_MP4/HMP_MP4_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_MP5/HMP_MP5_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_MP6/HMP_MP6_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.numberOfScan
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].waveLenght
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonReference
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonReferenceStD
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonCell
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonCellStD
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14Reference
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14ReferenceStD
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14Cell
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14CellStD
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.vSetReference
-DCSalias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.vSetCell
-DCSalias: HMP_DET/HMP_MP/HMP_ENV_TENV.actual.value
-DCSalias: HMP_DET/HMP_ENV/HMP_ENV_PENV.actual.value
+
+dn: dcsHost=aldcs052.cern.ch,det=HMP,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC0/HMP_MP0_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC1/HMP_MP0_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC2/HMP_MP0_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC3/HMP_MP0_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC4/HMP_MP0_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC5/HMP_MP0_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC0/HMP_MP1_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC1/HMP_MP1_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC2/HMP_MP1_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC3/HMP_MP1_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC4/HMP_MP1_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC5/HMP_MP1_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC0/HMP_MP2_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC1/HMP_MP2_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC2/HMP_MP2_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC3/HMP_MP2_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC4/HMP_MP2_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC5/HMP_MP2_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC0/HMP_MP3_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC1/HMP_MP3_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC2/HMP_MP3_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC3/HMP_MP3_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC4/HMP_MP3_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC5/HMP_MP3_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC0/HMP_MP4_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC1/HMP_MP4_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC2/HMP_MP4_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC3/HMP_MP4_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC4/HMP_MP4_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC5/HMP_MP4_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC0/HMP_MP5_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC1/HMP_MP5_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC2/HMP_MP5_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC3/HMP_MP5_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC4/HMP_MP5_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC5/HMP_MP5_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC0/HMP_MP6_SEC0_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC1/HMP_MP6_SEC1_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC2/HMP_MP6_SEC2_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC3/HMP_MP6_SEC3_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC4/HMP_MP6_SEC4_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC5/HMP_MP6_SEC5_HV.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC0/HMP_MP0_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC1/HMP_MP0_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC2/HMP_MP0_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC3/HMP_MP0_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC4/HMP_MP0_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_SEC5/HMP_MP0_SEC5_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC0/HMP_MP1_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC1/HMP_MP1_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC2/HMP_MP1_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC3/HMP_MP1_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC4/HMP_MP1_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_SEC5/HMP_MP1_SEC5_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC0/HMP_MP2_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC1/HMP_MP2_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC2/HMP_MP2_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC3/HMP_MP2_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC4/HMP_MP2_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_SEC5/HMP_MP2_SEC5_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC0/HMP_MP3_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC1/HMP_MP3_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC2/HMP_MP3_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC3/HMP_MP3_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC4/HMP_MP3_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_SEC5/HMP_MP3_SEC5_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC0/HMP_MP4_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC1/HMP_MP4_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC2/HMP_MP4_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC3/HMP_MP4_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC4/HMP_MP4_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_SEC5/HMP_MP4_SEC5_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC0/HMP_MP5_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC1/HMP_MP5_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC2/HMP_MP5_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC3/HMP_MP5_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC4/HMP_MP5_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_SEC5/HMP_MP5_SEC5_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC0/HMP_MP6_SEC0_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC1/HMP_MP6_SEC1_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC2/HMP_MP6_SEC2_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC3/HMP_MP6_SEC3_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC4/HMP_MP6_SEC4_HV.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_SEC5/HMP_MP6_SEC5_HV.actual.iMon
+
+dn: dcsHost=aldcs053.cern.ch,det=HMP,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs053.cern.ch
+dcsPort: 4242
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_GRID.actual.vMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_GRID.actual.iMon
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_GAS/HMP_MP0_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_GAS/HMP_MP1_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_GAS/HMP_MP2_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_GAS/HMP_MP3_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_GAS/HMP_MP4_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_GAS/HMP_MP5_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_GAS/HMP_MP6_GAS_PMWC.actual.value
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_PW/HMP_MP0_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_PW/HMP_MP1_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_PW/HMP_MP2_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_PW/HMP_MP3_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_PW/HMP_MP4_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_PW/HMP_MP5_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_PW/HMP_MP6_GAS_PBOX.actual.value
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_LIQ_LOOP.actual.sensors.Rad[0..2]In_Temp
+dcsAlias: HMP_DET/HMP_MP0/HMP_MP0_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_MP1/HMP_MP1_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_MP2/HMP_MP2_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_MP3/HMP_MP3_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_MP4/HMP_MP4_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_MP5/HMP_MP5_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_MP6/HMP_MP6_LIQ_LOOP.actual.sensors.Rad[0..2]Out_Temp
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.numberOfScan
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].waveLenght
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonReference
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonReferenceStD
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonCell
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].argonCellStD
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14Reference
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14ReferenceStD
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14Cell
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure[00..29].c6f14CellStD
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.vSetReference
+dcsAlias: HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.vSetCell
+dcsAlias: HMP_DET/HMP_MP/HMP_ENV_TENV.actual.value
+dcsAlias: HMP_DET/HMP_ENV/HMP_ENV_PENV.actual.value
index dd1c3bc33a4b9010abaa0f4da5e03c61ac72b84e..11b7847d6125a39424f8bc7d6be61d10836da293 100644 (file)
 #MCH config
 dn: det=MCH,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: MCH
-StrictRunOrder: 1
+strictRunOrder: 1
 responsible: aphecetc@in2p3.fr
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: MchHvLvRight/Chamber[00..03]Right/Quad0Sect[0..2].actual.vMon
-DCSalias: MchHvLvLeft/Chamber[00..03]Left/Quad1Sect[0..2].actual.vMon
-DCSalias: MchHvLvLeft/Chamber[00..03]Left/Quad2Sect[0..2].actual.vMon
-DCSalias: MchHvLvRight/Chamber[00..03]Right/Quad3Sect[0..2].actual.vMon
-DCSalias: MchHvLvRight/Chamber[04..09]Right/Slat[00..08].actual.vMon
-DCSalias: MchHvLvLeft/Chamber[04..09]Left/Slat[00..08].actual.vMon
-DCSalias: MchHvLvRight/Chamber[06..09]Right/Slat[09..12].actual.vMon
-DCSalias: MchHvLvLeft/Chamber[06..09]Left/Slat[09..12].actual.vMon
-DCSalias: MchDE0500sw[0..3].inValue
-DCSalias: MchDE0501sw[0..3].inValue
-DCSalias: MchDE0502sw[0..3].inValue
-DCSalias: MchDE0503sw[0..2].inValue
-DCSalias: MchDE0504sw[0..1].inValue
-DCSalias: MchDE0505sw[0..1].inValue
-DCSalias: MchDE0506sw[0..2].inValue
-DCSalias: MchDE0507sw[0..3].inValue
-DCSalias: MchDE0508sw[0..3].inValue
-DCSalias: MchDE0509sw[0..3].inValue
-DCSalias: MchDE0510sw[0..3].inValue
-DCSalias: MchDE0511sw[0..3].inValue
-DCSalias: MchDE0512sw[0..2].inValue
-DCSalias: MchDE0513sw[0..1].inValue
-DCSalias: MchDE0514sw[0..1].inValue
-DCSalias: MchDE0515sw[0..2].inValue
-DCSalias: MchDE0516sw[0..3].inValue
-DCSalias: MchDE0517sw[0..3].inValue
-DCSalias: MchDE0600sw[0..3].inValue
-DCSalias: MchDE0601sw[0..3].inValue
-DCSalias: MchDE0602sw[0..3].inValue
-DCSalias: MchDE0603sw[0..2].inValue
-DCSalias: MchDE0604sw[0..1].inValue
-DCSalias: MchDE0605sw[0..1].inValue
-DCSalias: MchDE0606sw[0..2].inValue
-DCSalias: MchDE0607sw[0..3].inValue
-DCSalias: MchDE0608sw[0..3].inValue
-DCSalias: MchDE0609sw[0..3].inValue
-DCSalias: MchDE0610sw[0..3].inValue
-DCSalias: MchDE0611sw[0..3].inValue
-DCSalias: MchDE0612sw[0..2].inValue
-DCSalias: MchDE0613sw[0..1].inValue
-DCSalias: MchDE0614sw[0..1].inValue
-DCSalias: MchDE0615sw[0..2].inValue
-DCSalias: MchDE0616sw[0..3].inValue
-DCSalias: MchDE0617sw[0..3].inValue
-DCSalias: MchDE0700sw[0..4].inValue
-DCSalias: MchDE0701sw[0..5].inValue
-DCSalias: MchDE0702sw[0..4].inValue
-DCSalias: MchDE0703sw[0..4].inValue
-DCSalias: MchDE0704sw[0..3].inValue
-DCSalias: MchDE0705sw[0..2].inValue
-DCSalias: MchDE0706sw[0..1].inValue
-DCSalias: MchDE0707sw[0..1].inValue
-DCSalias: MchDE0708sw[0..2].inValue
-DCSalias: MchDE0709sw[0..3].inValue
-DCSalias: MchDE0710sw[0..4].inValue
-DCSalias: MchDE0711sw[0..4].inValue
-DCSalias: MchDE0712sw[0..5].inValue
-DCSalias: MchDE0713sw[0..4].inValue
-DCSalias: MchDE0714sw[0..5].inValue
-DCSalias: MchDE0715sw[0..4].inValue
-DCSalias: MchDE0716sw[0..4].inValue
-DCSalias: MchDE0717sw[0..3].inValue
-DCSalias: MchDE0718sw[0..2].inValue
-DCSalias: MchDE0719sw[0..1].inValue
-DCSalias: MchDE0720sw[0..1].inValue
-DCSalias: MchDE0721sw[0..2].inValue
-DCSalias: MchDE0722sw[0..3].inValue
-DCSalias: MchDE0723sw[0..4].inValue
-DCSalias: MchDE0724sw[0..4].inValue
-DCSalias: MchDE0725sw[0..5].inValue
-DCSalias: MchDE0800sw[0..4].inValue
-DCSalias: MchDE0801sw[0..5].inValue
-DCSalias: MchDE0802sw[0..4].inValue
-DCSalias: MchDE0803sw[0..4].inValue
-DCSalias: MchDE0804sw[0..3].inValue
-DCSalias: MchDE0805sw[0..2].inValue
-DCSalias: MchDE0806sw[0..1].inValue
-DCSalias: MchDE0807sw[0..1].inValue
-DCSalias: MchDE0808sw[0..2].inValue
-DCSalias: MchDE0809sw[0..3].inValue
-DCSalias: MchDE0810sw[0..4].inValue
-DCSalias: MchDE0811sw[0..4].inValue
-DCSalias: MchDE0812sw[0..5].inValue
-DCSalias: MchDE0813sw[0..4].inValue
-DCSalias: MchDE0814sw[0..5].inValue
-DCSalias: MchDE0815sw[0..4].inValue
-DCSalias: MchDE0816sw[0..4].inValue
-DCSalias: MchDE0817sw[0..3].inValue
-DCSalias: MchDE0818sw[0..2].inValue
-DCSalias: MchDE0819sw[0..1].inValue
-DCSalias: MchDE0820sw[0..1].inValue
-DCSalias: MchDE0821sw[0..2].inValue
-DCSalias: MchDE0822sw[0..3].inValue
-DCSalias: MchDE0823sw[0..4].inValue
-DCSalias: MchDE0824sw[0..4].inValue
-DCSalias: MchDE0825sw[0..5].inValue
-DCSalias: MchDE0900sw[0..4].inValue
-DCSalias: MchDE0901sw[0..5].inValue
-DCSalias: MchDE0902sw[0..5].inValue
-DCSalias: MchDE0903sw[0..5].inValue
-DCSalias: MchDE0904sw[0..4].inValue
-DCSalias: MchDE0905sw[0..3].inValue
-DCSalias: MchDE0906sw[0..2].inValue
-DCSalias: MchDE0907sw[0..2].inValue
-DCSalias: MchDE0908sw[0..3].inValue
-DCSalias: MchDE0909sw[0..4].inValue
-DCSalias: MchDE0910sw[0..5].inValue
-DCSalias: MchDE0911sw[0..5].inValue
-DCSalias: MchDE0912sw[0..5].inValue
-DCSalias: MchDE0913sw[0..4].inValue
-DCSalias: MchDE0914sw[0..5].inValue
-DCSalias: MchDE0915sw[0..5].inValue
-DCSalias: MchDE0916sw[0..5].inValue
-DCSalias: MchDE0917sw[0..4].inValue
-DCSalias: MchDE0918sw[0..3].inValue
-DCSalias: MchDE0919sw[0..2].inValue
-DCSalias: MchDE0920sw[0..2].inValue
-DCSalias: MchDE0921sw[0..3].inValue
-DCSalias: MchDE0922sw[0..4].inValue
-DCSalias: MchDE0923sw[0..5].inValue
-DCSalias: MchDE0924sw[0..5].inValue
-DCSalias: MchDE0925sw[0..5].inValue
-DCSalias: MchDE1000sw[0..4].inValue
-DCSalias: MchDE1001sw[0..5].inValue
-DCSalias: MchDE1002sw[0..5].inValue
-DCSalias: MchDE1003sw[0..5].inValue
-DCSalias: MchDE1004sw[0..4].inValue
-DCSalias: MchDE1005sw[0..3].inValue
-DCSalias: MchDE1006sw[0..2].inValue
-DCSalias: MchDE1007sw[0..2].inValue
-DCSalias: MchDE1008sw[0..3].inValue
-DCSalias: MchDE1009sw[0..4].inValue
-DCSalias: MchDE1010sw[0..5].inValue
-DCSalias: MchDE1011sw[0..5].inValue
-DCSalias: MchDE1012sw[0..5].inValue
-DCSalias: MchDE1013sw[0..4].inValue
-DCSalias: MchDE1014sw[0..5].inValue
-DCSalias: MchDE1015sw[0..5].inValue
-DCSalias: MchDE1016sw[0..5].inValue
-DCSalias: MchDE1017sw[0..4].inValue
-DCSalias: MchDE1018sw[0..3].inValue
-DCSalias: MchDE1019sw[0..2].inValue
-DCSalias: MchDE1020sw[0..2].inValue
-DCSalias: MchDE1021sw[0..3].inValue
-DCSalias: MchDE1022sw[0..4].inValue
-DCSalias: MchDE1023sw[0..5].inValue
-DCSalias: MchDE1024sw[0..5].inValue
-DCSalias: MchDE1025sw[0..5].inValue
+
+
+dn: dcsHost=aldcs052.cern.ch,det=MCH,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: MchHvLvRight/Chamber[00..03]Right/Quad0Sect[0..2].actual.vMon
+dcsAlias: MchHvLvLeft/Chamber[00..03]Left/Quad1Sect[0..2].actual.vMon
+dcsAlias: MchHvLvLeft/Chamber[00..03]Left/Quad2Sect[0..2].actual.vMon
+dcsAlias: MchHvLvRight/Chamber[00..03]Right/Quad3Sect[0..2].actual.vMon
+dcsAlias: MchHvLvRight/Chamber[04..09]Right/Slat[00..08].actual.vMon
+dcsAlias: MchHvLvLeft/Chamber[04..09]Left/Slat[00..08].actual.vMon
+dcsAlias: MchHvLvRight/Chamber[06..09]Right/Slat[09..12].actual.vMon
+dcsAlias: MchHvLvLeft/Chamber[06..09]Left/Slat[09..12].actual.vMon
+dcsAlias: MchDE0500sw[0..3].inValue
+dcsAlias: MchDE0501sw[0..3].inValue
+dcsAlias: MchDE0502sw[0..3].inValue
+dcsAlias: MchDE0503sw[0..2].inValue
+dcsAlias: MchDE0504sw[0..1].inValue
+dcsAlias: MchDE0505sw[0..1].inValue
+dcsAlias: MchDE0506sw[0..2].inValue
+dcsAlias: MchDE0507sw[0..3].inValue
+dcsAlias: MchDE0508sw[0..3].inValue
+dcsAlias: MchDE0509sw[0..3].inValue
+dcsAlias: MchDE0510sw[0..3].inValue
+dcsAlias: MchDE0511sw[0..3].inValue
+dcsAlias: MchDE0512sw[0..2].inValue
+dcsAlias: MchDE0513sw[0..1].inValue
+dcsAlias: MchDE0514sw[0..1].inValue
+dcsAlias: MchDE0515sw[0..2].inValue
+dcsAlias: MchDE0516sw[0..3].inValue
+dcsAlias: MchDE0517sw[0..3].inValue
+dcsAlias: MchDE0600sw[0..3].inValue
+dcsAlias: MchDE0601sw[0..3].inValue
+dcsAlias: MchDE0602sw[0..3].inValue
+dcsAlias: MchDE0603sw[0..2].inValue
+dcsAlias: MchDE0604sw[0..1].inValue
+dcsAlias: MchDE0605sw[0..1].inValue
+dcsAlias: MchDE0606sw[0..2].inValue
+dcsAlias: MchDE0607sw[0..3].inValue
+dcsAlias: MchDE0608sw[0..3].inValue
+dcsAlias: MchDE0609sw[0..3].inValue
+dcsAlias: MchDE0610sw[0..3].inValue
+dcsAlias: MchDE0611sw[0..3].inValue
+dcsAlias: MchDE0612sw[0..2].inValue
+dcsAlias: MchDE0613sw[0..1].inValue
+dcsAlias: MchDE0614sw[0..1].inValue
+dcsAlias: MchDE0615sw[0..2].inValue
+dcsAlias: MchDE0616sw[0..3].inValue
+dcsAlias: MchDE0617sw[0..3].inValue
+dcsAlias: MchDE0700sw[0..4].inValue
+dcsAlias: MchDE0701sw[0..5].inValue
+dcsAlias: MchDE0702sw[0..4].inValue
+dcsAlias: MchDE0703sw[0..4].inValue
+dcsAlias: MchDE0704sw[0..3].inValue
+dcsAlias: MchDE0705sw[0..2].inValue
+dcsAlias: MchDE0706sw[0..1].inValue
+dcsAlias: MchDE0707sw[0..1].inValue
+dcsAlias: MchDE0708sw[0..2].inValue
+dcsAlias: MchDE0709sw[0..3].inValue
+dcsAlias: MchDE0710sw[0..4].inValue
+dcsAlias: MchDE0711sw[0..4].inValue
+dcsAlias: MchDE0712sw[0..5].inValue
+dcsAlias: MchDE0713sw[0..4].inValue
+dcsAlias: MchDE0714sw[0..5].inValue
+dcsAlias: MchDE0715sw[0..4].inValue
+dcsAlias: MchDE0716sw[0..4].inValue
+dcsAlias: MchDE0717sw[0..3].inValue
+dcsAlias: MchDE0718sw[0..2].inValue
+dcsAlias: MchDE0719sw[0..1].inValue
+dcsAlias: MchDE0720sw[0..1].inValue
+dcsAlias: MchDE0721sw[0..2].inValue
+dcsAlias: MchDE0722sw[0..3].inValue
+dcsAlias: MchDE0723sw[0..4].inValue
+dcsAlias: MchDE0724sw[0..4].inValue
+dcsAlias: MchDE0725sw[0..5].inValue
+dcsAlias: MchDE0800sw[0..4].inValue
+dcsAlias: MchDE0801sw[0..5].inValue
+dcsAlias: MchDE0802sw[0..4].inValue
+dcsAlias: MchDE0803sw[0..4].inValue
+dcsAlias: MchDE0804sw[0..3].inValue
+dcsAlias: MchDE0805sw[0..2].inValue
+dcsAlias: MchDE0806sw[0..1].inValue
+dcsAlias: MchDE0807sw[0..1].inValue
+dcsAlias: MchDE0808sw[0..2].inValue
+dcsAlias: MchDE0809sw[0..3].inValue
+dcsAlias: MchDE0810sw[0..4].inValue
+dcsAlias: MchDE0811sw[0..4].inValue
+dcsAlias: MchDE0812sw[0..5].inValue
+dcsAlias: MchDE0813sw[0..4].inValue
+dcsAlias: MchDE0814sw[0..5].inValue
+dcsAlias: MchDE0815sw[0..4].inValue
+dcsAlias: MchDE0816sw[0..4].inValue
+dcsAlias: MchDE0817sw[0..3].inValue
+dcsAlias: MchDE0818sw[0..2].inValue
+dcsAlias: MchDE0819sw[0..1].inValue
+dcsAlias: MchDE0820sw[0..1].inValue
+dcsAlias: MchDE0821sw[0..2].inValue
+dcsAlias: MchDE0822sw[0..3].inValue
+dcsAlias: MchDE0823sw[0..4].inValue
+dcsAlias: MchDE0824sw[0..4].inValue
+dcsAlias: MchDE0825sw[0..5].inValue
+dcsAlias: MchDE0900sw[0..4].inValue
+dcsAlias: MchDE0901sw[0..5].inValue
+dcsAlias: MchDE0902sw[0..5].inValue
+dcsAlias: MchDE0903sw[0..5].inValue
+dcsAlias: MchDE0904sw[0..4].inValue
+dcsAlias: MchDE0905sw[0..3].inValue
+dcsAlias: MchDE0906sw[0..2].inValue
+dcsAlias: MchDE0907sw[0..2].inValue
+dcsAlias: MchDE0908sw[0..3].inValue
+dcsAlias: MchDE0909sw[0..4].inValue
+dcsAlias: MchDE0910sw[0..5].inValue
+dcsAlias: MchDE0911sw[0..5].inValue
+dcsAlias: MchDE0912sw[0..5].inValue
+dcsAlias: MchDE0913sw[0..4].inValue
+dcsAlias: MchDE0914sw[0..5].inValue
+dcsAlias: MchDE0915sw[0..5].inValue
+dcsAlias: MchDE0916sw[0..5].inValue
+dcsAlias: MchDE0917sw[0..4].inValue
+dcsAlias: MchDE0918sw[0..3].inValue
+dcsAlias: MchDE0919sw[0..2].inValue
+dcsAlias: MchDE0920sw[0..2].inValue
+dcsAlias: MchDE0921sw[0..3].inValue
+dcsAlias: MchDE0922sw[0..4].inValue
+dcsAlias: MchDE0923sw[0..5].inValue
+dcsAlias: MchDE0924sw[0..5].inValue
+dcsAlias: MchDE0925sw[0..5].inValue
+dcsAlias: MchDE1000sw[0..4].inValue
+dcsAlias: MchDE1001sw[0..5].inValue
+dcsAlias: MchDE1002sw[0..5].inValue
+dcsAlias: MchDE1003sw[0..5].inValue
+dcsAlias: MchDE1004sw[0..4].inValue
+dcsAlias: MchDE1005sw[0..3].inValue
+dcsAlias: MchDE1006sw[0..2].inValue
+dcsAlias: MchDE1007sw[0..2].inValue
+dcsAlias: MchDE1008sw[0..3].inValue
+dcsAlias: MchDE1009sw[0..4].inValue
+dcsAlias: MchDE1010sw[0..5].inValue
+dcsAlias: MchDE1011sw[0..5].inValue
+dcsAlias: MchDE1012sw[0..5].inValue
+dcsAlias: MchDE1013sw[0..4].inValue
+dcsAlias: MchDE1014sw[0..5].inValue
+dcsAlias: MchDE1015sw[0..5].inValue
+dcsAlias: MchDE1016sw[0..5].inValue
+dcsAlias: MchDE1017sw[0..4].inValue
+dcsAlias: MchDE1018sw[0..3].inValue
+dcsAlias: MchDE1019sw[0..2].inValue
+dcsAlias: MchDE1020sw[0..2].inValue
+dcsAlias: MchDE1021sw[0..3].inValue
+dcsAlias: MchDE1022sw[0..4].inValue
+dcsAlias: MchDE1023sw[0..5].inValue
+dcsAlias: MchDE1024sw[0..5].inValue
+dcsAlias: MchDE1025sw[0..5].inValue
index ee3b1c2b6f556a7b05e89285ef043a5233558a2d..0fdea84ee458defd9d6a71e2f5a73c429ddc8bbd 100644 (file)
@@ -1,14 +1,17 @@
 # PHS config
 dn: det=PHS,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: PHS
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: Boris.Polichtchouk@cern.ch
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: phs_hvIsegMeasVoltage[0..4]
-DCSalias: phs_hvIsegMeasCurrent[0..4]
-DCSalias: phs_hvIsegMeasAlarm[0..4]
-DCSalias: phs_lvWienerMeasCurrent[00..19]
-DCSalias: phs_lvWienerMeasAlarm[00..19]
-DCSalias: phs_temperatureCold[00..24]
+
+dn: dcsHost=aldcs052.cern.ch,det=PHS,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: phs_hvIsegMeasVoltage[0..4]
+dcsAlias: phs_hvIsegMeasCurrent[0..4]
+dcsAlias: phs_hvIsegMeasAlarm[0..4]
+dcsAlias: phs_lvWienerMeasCurrent[00..19]
+dcsAlias: phs_lvWienerMeasAlarm[00..19]
+dcsAlias: phs_temperatureCold[00..24]
index b85f9ee9fc76b64a82328d5e8d528dbfe665ff6e..94897c8a93ff3cea514d1b98001ca082ae0c7295 100644 (file)
@@ -1,16 +1,12 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Fri Aug 31 10:26:11 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=PMD,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# PMD Config
 dn: det=PMD,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: PMD
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: Zubayer.Ahammed@cern.ch
 
+dn: dcsHost=aldcs052.cern.ch,det=PMD,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
index 2f153f75647073c98bc3cb1c70d9fc920e46f797..11802032cad52a9af100fa3c399546b3d85a1699 100644 (file)
@@ -1,9 +1,13 @@
 # SDD config
 dn: det=SDD,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: SDD
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: francesco.prino@cern.ch
 responsible: elisabetta.crescio@to.infn.it
 
+dn: dcsHost=aldcs052.cern.ch,det=SDD,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
index 0a255235ef8ecaa8132b0845dccd6c0c2decbdae..42f650f65d30266634081f69bdd28ba69902af12 100644 (file)
@@ -1,18 +1,12 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Fri Aug 31 10:30:21 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=SPD,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# SPD Config
 dn: det=SPD,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleDetector
-DCSPort: 4242
+objectClass: detectorConfig
 det: SPD
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: Henrik.Tydesjo@cern.ch
-DCSHost: aldcs052.cern.ch
 
+dn: dcsHost=aldcs052.cern.ch,det=SPD,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
index 31e04c9cd834ebead6c412834063f27b501f6eab..90d2be68e82e8651bb7983b2a5f05f1d8a5da4f4 100644 (file)
@@ -1,8 +1,12 @@
 # SSD config
 dn: det=SSD,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: SSD
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: enrico.fragiacomo@ts.infn.it
 
+dn: dcsHost=aldcs052.cern.ch,det=SSD,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
index 45a8f0f529c07c94bef59aa8cf99d1535fa3427e..22790476dff6952337491b8f0dce80477f78e591 100644 (file)
@@ -1,9 +1,13 @@
 # T00 config;
 dn: det=T00,o=alice,dc=cern,dc=ch
 objectClass: top
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: T00
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: tomatkie@cc.jyu.fi
 responsible: moledzki@gmail.com
 
+dn: dcsHost=aldcs052.cern.ch,det=T00,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
index 05ed34096f4616a66a18bd6469f9bffa219604c2..152f937894097f3e12f8da03d5a59fdea46c9a56 100644 (file)
@@ -1,31 +1,27 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Mon Jan 22 17:42:28 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=MCH,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# TOF Config
 dn: det=TOF,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: TOF
-StrictRunOrder: 1
-responsible: not_yet_set
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: tof_hv_vp_[00..89]
-DCSalias: tof_hv_vn_[00..89]
-DCSalias: tof_hv_ip_[00..89]
-DCSalias: tof_hv_in_[00..89]
-DCSalias: tof_lv_vfea_[000..575]
-DCSalias: tof_lv_v33_[00..71]
-DCSalias: tof_lv_v50_[00..71]
-DCSalias: tof_lv_v48_[00..71]
-DCSalias: tof_lv_ifea_[000..575]
-DCSalias: tof_lv_i33_[00..71]
-DCSalias: tof_lv_i50_[00..71]
-DCSalias: tof_lv_i48_[00..71]
-DCSalias: tof_fee_th_[0000..1151]
-DCSalias: tof_fee_tfeac_[000..575]
-DCSalias: tof_fee_ttrm_[0000..6839]
+strictRunOrder: 1
+responsible: Chiara.Zampolli@bo.infn.it
+responsible: arcelli@bo.infn.it
+
+dn: dcsHost=aldcs052.cern.ch,det=TOF,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: tof_hv_vp_[00..89]
+dcsAlias: tof_hv_vn_[00..89]
+dcsAlias: tof_hv_ip_[00..89]
+dcsAlias: tof_hv_in_[00..89]
+dcsAlias: tof_lv_vfea_[000..575]
+dcsAlias: tof_lv_v33_[00..71]
+dcsAlias: tof_lv_v50_[00..71]
+dcsAlias: tof_lv_v48_[00..71]
+dcsAlias: tof_lv_ifea_[000..575]
+dcsAlias: tof_lv_i33_[00..71]
+dcsAlias: tof_lv_i50_[00..71]
+dcsAlias: tof_lv_i48_[00..71]
+dcsAlias: tof_fee_th_[0000..1151]
+dcsAlias: tof_fee_tfeac_[000..575]
+dcsAlias: tof_fee_ttrm_[0000..6839]
index a16b4caa470f8dc1ec26569ba2cf16d8dda8dafe..8431744cea109b02718809cdfaa42248d6790c59 100644 (file)
@@ -1,42 +1,36 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Fri Aug 31 10:31:04 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=TPC,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# TPC Config
 dn: det=TPC,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: TPC
-StrictRunOrder: 0
-DCSPort: 4242
-DCSalias: tpc_PT_[321..344].Temperature
-DCSalias: tpc_PT_[353..379].Temperature
-DCSalias: tpc_PT_[385..396].Temperature
-DCSalias: tpc_PT_[398..407].Temperature
-DCSalias: tpc_PT_411.Temperature
-DCSalias: tpc_PT_[417..423].Temperature
-DCSalias: tpc_PT_[425..434].Temperature
-DCSalias: tpc_PT_[436..438].Temperature
-DCSalias: tpc_PT_[449..471].Temperature
-DCSalias: tpc_PT_[481..494].Temperature
-DCSalias: tpc_PT_[496..503].Temperature
-DCSalias: tpc_PT_[513..532].Temperature
-DCSalias: tpc_PT_[545..570].Temperature
-DCSalias: tpc_PT_[577..596].Temperature
-DCSalias: tpc_PT_[609..629].Temperature
-DCSalias: tpc_PT_[641..667].Temperature
-DCSalias: tpc_PT_[673..697].Temperature
-DCSalias: tpc_PT_[705..731].Temperature
-DCSalias: tpc_PT_[737..742].Temperature
-DCSalias: tpc_PT_[744..757].Temperature
-DCSalias: tpc_PT_[769..792].Temperature
-DCSalias: tpc_PT_[801..825].Temperature
-DCSalias: tpc_PT_[833..852].Temperature
-DCSalias: tpc_PT_[865..872].Temperature
-DCSalias: tpc_PT_[874..883].Temperature
+strictRunOrder: 0
 responsible: Haavard.Helstrup@cern.ch
-DCSHost: aldcs052.cern.ch
 
+dn: dcsHost=aldcs052.cern.ch,det=TPC,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: tpc_PT_[321..344].Temperature
+dcsAlias: tpc_PT_[353..379].Temperature
+dcsAlias: tpc_PT_[385..396].Temperature
+dcsAlias: tpc_PT_[398..407].Temperature
+dcsAlias: tpc_PT_411.Temperature
+dcsAlias: tpc_PT_[417..423].Temperature
+dcsAlias: tpc_PT_[425..434].Temperature
+dcsAlias: tpc_PT_[436..438].Temperature
+dcsAlias: tpc_PT_[449..471].Temperature
+dcsAlias: tpc_PT_[481..494].Temperature
+dcsAlias: tpc_PT_[496..503].Temperature
+dcsAlias: tpc_PT_[513..532].Temperature
+dcsAlias: tpc_PT_[545..570].Temperature
+dcsAlias: tpc_PT_[577..596].Temperature
+dcsAlias: tpc_PT_[609..629].Temperature
+dcsAlias: tpc_PT_[641..667].Temperature
+dcsAlias: tpc_PT_[673..697].Temperature
+dcsAlias: tpc_PT_[705..731].Temperature
+dcsAlias: tpc_PT_[737..742].Temperature
+dcsAlias: tpc_PT_[744..757].Temperature
+dcsAlias: tpc_PT_[769..792].Temperature
+dcsAlias: tpc_PT_[801..825].Temperature
+dcsAlias: tpc_PT_[833..852].Temperature
+dcsAlias: tpc_PT_[865..872].Temperature
+dcsAlias: tpc_PT_[874..883].Temperature
index 294ee6df64581e27f4b524683e87c7e1c7fc79af..52b38ee4a7d3f59b1d7cd0f345703cd277719c03 100644 (file)
@@ -1,38 +1,33 @@
-#
-# This file was generated by gq 1.0beta1   (http://biot.com/gq/)
-# run by colla Fri Aug 31 10:31:53 2007
-#
-# subtree search on server: ldap://pcalishuttle01.cern.ch:389/
-#                   binddn: cn=manager,dc=cern,dc=ch
-#          searching below: det=TRD,o=alice,dc=cern,dc=ch
-# version: 1
-#
+# TRD Config
 dn: det=TRD,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: TRD
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: r.bailhache@gsi.de
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: trd_chamberStatus[000..539]
-DCSalias:: dHJkX2dvb2ZpZUh2ICAJICA=
-DCSalias:: dHJkX2dvb2ZpZVBlYWtQb3MwMAkgICAgIA==
-DCSalias:: dHJkX2dvb2ZpZVBlYWtQb3MwMQkgICAgIA==
-DCSalias: trd_goofiePeakArea[00..01]
-DCSalias: trd_goofieTemp[00..01]  
-DCSalias:: dHJkX2dvb2ZpZVByZXNzdXJlCSAg
-DCSalias:: dHJkX2dvb2ZpZVZlbG9jaXR5CSAg
-DCSalias: trd_goofieGain[00..01]  
-DCSalias:: dHJkX2dvb2ZpZUNPMiAJICA=
-DCSalias:: dHJkX2dvb2ZpZU4yICAJICA=
-DCSalias:: dHJkX2dhc08yCQkgIA==
-DCSalias:: dHJkX2dhc0gyTwkJICA=
-DCSalias:: dHJkX2dhc0NPMgkJICA=
-DCSalias:: dHJkX2dhc092ZXJwcmVzc3VyZQkgIA==
-DCSalias: trd_envTemp[000..539]   
-DCSalias: trd_hvAnodeImon[000..539]
-DCSalias: trd_hvDriftImon[000..539]
-DCSalias: trd_hvAnodeUmon[000..539]
-DCSalias: trd_hvDriftUmon[000..539]
-DCSalias:: dHJkX2FkY0Nsa1BoYXNlCSAg
+
+dn: dcsHost=aldcs052.cern.ch,det=TRD,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: trd_chamberStatus[000..539]
+dcsAlias: trd_goofieHv
+dcsAlias: trd_goofiePeakPos00
+dcsAlias: trd_goofiePeakPos01
+dcsAlias: trd_goofiePeakArea[00..01]
+dcsAlias: trd_goofieTemp[00..01]  
+dcsAlias: trd_goofiePressure
+dcsAlias: trd_goofieVelocity
+dcsAlias: trd_goofieGain[00..01]  
+dcsAlias: trd_goofieCO2
+dcsAlias: trd_goofieN2
+dcsAlias: trd_gasO2
+dcsAlias: trd_gasH2O
+dcsAlias: trd_gasCO2
+dcsAlias: trd_gasOverpressure
+dcsAlias: trd_envTemp[000..539]
+dcsAlias: trd_hvAnodeImon[000..539]
+dcsAlias: trd_hvDriftImon[000..539]
+dcsAlias: trd_hvAnodeUmon[000..539]
+dcsAlias: trd_hvDriftUmon[000..539]
+dcsAlias: trd_adcClkPhase
 
index 3688e31277ef92c7ce8b719086f80b3a461fbab8..79f52d927fb806d0e222ab4bdaf3c175fb9ad885 100644 (file)
@@ -1,17 +1,20 @@
 # ZDC config
 dn: det=ZDC,o=alice,dc=cern,dc=ch
-objectClass: AliShuttleDetector
+objectClass: detectorConfig
 det: ZDC
-StrictRunOrder: 0
+strictRunOrder: 0
 responsible: chiara.oppedisano@to.infn.it
-DCSHost: aldcs052.cern.ch
-DCSPort: 4242
-DCSalias: ZDC_ZPA_HV[0..4].actual.vMon
-DCSalias: ZDC_ZNA_HV[0..4].actual.vMon
-DCSalias: ZDC_ZNC_HV[0..4].actual.vMon
-DCSalias: ZDC_ZPC_HV[0..4].actual.vMon
-DCSalias: ZDC_ZEM_HV[0..1].actual.vMon
-DCSalias: ZDC_ZNA_POS.actual.position
-DCSalias: ZDC_ZPA_POS.actual.position
-DCSalias: ZDC_ZNC_POS.actual.position
-DCSalias: ZDC_ZPC_POS.actual.position
+
+dn: dcsHost=aldcs052.cern.ch,det=ZDC,o=alice,dc=cern,dc=ch
+objectClass: dcsConfig
+dcsHost: aldcs052.cern.ch
+dcsPort: 4242
+dcsAlias: ZDC_ZPA_HV[0..4].actual.vMon
+dcsAlias: ZDC_ZNA_HV[0..4].actual.vMon
+dcsAlias: ZDC_ZNC_HV[0..4].actual.vMon
+dcsAlias: ZDC_ZPC_HV[0..4].actual.vMon
+dcsAlias: ZDC_ZEM_HV[0..1].actual.vMon
+dcsAlias: ZDC_ZNA_POS.actual.position
+dcsAlias: ZDC_ZPA_POS.actual.position
+dcsAlias: ZDC_ZNC_POS.actual.position
+dcsAlias: ZDC_ZPC_POS.actual.position
index c301dd48d2aca788edfdd7c8869beea88c80cc1c..8451ddfc62a6a8a10f86d642ec453e1052d10939 100644 (file)
@@ -2,76 +2,84 @@ objectidentifier SHUTTLE_BASE 1.1.1
 
 objectidentifier DETECTOR_CONFIG SHUTTLE_BASE:1
 
-attributetype ( DETECTOR_CONFIG:1 NAME 'det'         DESC 'Detector name'         EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( DETECTOR_CONFIG:2 NAME 'DCSHost'     DESC ''                      EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( DETECTOR_CONFIG:3 NAME 'DCSPort'     DESC ''                                                  SUP ipServicePort )
-attributetype ( DETECTOR_CONFIG:4 NAME 'DCSalias'    DESC ''                      EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( DETECTOR_CONFIG:5 NAME 'DCSdatapoint' DESC ''                      EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( DETECTOR_CONFIG:6 NAME 'StrictRunOrder' DESC 'Strict run ordering flag' EQUALITY caseIgnoreMatch SUP name )
-attributetype ( DETECTOR_CONFIG:7 NAME 'responsible' DESC 'responsible email address' EQUALITY caseIgnoreIA5Match SUP mail )
+attributetype ( DETECTOR_CONFIG:1 NAME 'det'            DESC 'Detector name'             EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( DETECTOR_CONFIG:6 NAME 'strictRunOrder' DESC 'Strict run ordering flag'  EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( DETECTOR_CONFIG:7 NAME 'responsible'    DESC 'responsible email address' EQUALITY caseIgnoreIA5Match SUP mail )
 
 objectclass ( DETECTOR_CONFIG
-        NAME 'AliShuttleDetector'
+        NAME 'detectorConfig'
         DESC 'ALICE: Shuttle configuration object.'
         SUP top
-        MUST (det $ StrictRunOrder)
-        MAY  (DCSHost $ DCSPort $ DCSalias $ DCSdatapoint $ responsible) )
-
-
-objectidentifier SYS_CONFIG SHUTTLE_BASE:2
-
-attributetype ( SYS_CONFIG:1 NAME 'system'          DESC 'System name (DAQ, DCS, HLT)'    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:2 NAME 'DBHost'      DESC ''        EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:3 NAME 'DBPort'      DESC ''                                    SUP ipServicePort )
-attributetype ( SYS_CONFIG:4 NAME 'DBUser'      DESC ''        EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:5 NAME 'DBPassword'  DESC ''        EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:6 NAME 'DBName'      DESC ''        EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:7 NAME 'DBTable'     DESC ''        EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:8 NAME 'FSHost'          DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:9 NAME 'FSPort'          DESC ''                                SUP ipServicePort )
-attributetype ( SYS_CONFIG:10 NAME 'FSUser'         DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( SYS_CONFIG:11 NAME 'FSPassword'       DESC ''  EQUALITY caseIgnoreMatch    SUP name )
-
-objectclass ( SYS_CONFIG
-        NAME 'AliShuttleSYSConfig'
-        DESC 'ALICE: Configuration of the Shuttle for access to online network'
+        MUST (det $ strictRunOrder)
+        MAY  (responsible) )
+
+objectidentifier DCS_CONFIG SHUTTLE_BASE:2
+
+attributetype ( DCS_CONFIG:1 NAME 'dcsHost'     DESC 'DCS host'            EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( DCS_CONFIG:2 NAME 'dcsPort'     DESC 'DCS port'                                    SUP ipServicePort SINGLE-VALUE )
+attributetype ( DCS_CONFIG:3 NAME 'dcsAlias'    DESC 'alias name(s)'       EQUALITY caseIgnoreMatch    SUP name )
+attributetype ( DCS_CONFIG:4 NAME 'dcsDP'      DESC 'Data Point name(s)'  EQUALITY caseIgnoreMatch    SUP name )
+
+objectclass ( DCS_CONFIG
+        NAME 'dcsConfig'
+        DESC 'ALICE: Shuttle configuration of the DCS Amanda server(s).'
+        SUP top
+       MUST (dcsHost $ dcsPort)
+        MAY  (dcsAlias $ dcsDP) )
+
+objectidentifier FXS_CONFIG SHUTTLE_BASE:3
+
+attributetype ( FXS_CONFIG:1  NAME 'system'     DESC 'System name (DAQ, DCS, HLT)'  EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:2  NAME 'dbHost'     DESC 'FXS MySQL DB host'            EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:3  NAME 'dbPort'     DESC 'FXS MySQL DB port'                                      SUP ipServicePort SINGLE-VALUE )
+attributetype ( FXS_CONFIG:4  NAME 'dbUser'     DESC 'FXS MySQL DB user'            EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:5  NAME 'dbPasswd'    DESC 'FXS MySQL DB passwd'         EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:6  NAME 'dbName'     DESC 'FXS MySQL DB name'            EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:7  NAME 'dbTable'    DESC 'FXS MySQL DB table'           EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:8  NAME 'fxsHost'    DESC 'FXS host'                     EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:9  NAME 'fxsPort'    DESC 'FXS port'                                               SUP ipServicePort SINGLE-VALUE )
+attributetype ( FXS_CONFIG:10 NAME 'fxsUser'    DESC 'FXS user'                     EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+attributetype ( FXS_CONFIG:11 NAME 'fxsPasswd'   DESC 'FXS Password'                EQUALITY caseIgnoreMatch  SUP name SINGLE-VALUE )
+
+objectclass ( FXS_CONFIG
+        NAME 'fxsConfig'
+        DESC 'ALICE: Configuration of the Shuttle for access to the File Exchange Servers'
         SUP top
-        MUST (system $ DBHost $ DBUser $ DBPassword $ DBName $ DBTable $ FSHost $ FSUser )
-        MAY ( FSPassword $ DBPort $ FSPort) )
+        MUST (system $ dbHost $ dbUser $ dbPasswd $ dbName $ dbTable $ fxsHost $ fxsUser )
+        MAY ( dbPort $ fxsPasswd $ fxsPort) )
 
 
-objectidentifier GLOBAL_CONFIG SHUTTLE_BASE:3
+objectidentifier GLOBAL_CONFIG SHUTTLE_BASE:4
 
-attributetype ( GLOBAL_CONFIG:1 NAME 'DAQLogbookHost'      DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:2 NAME 'DAQLogbookPort'      DESC ''                               SUP ipServicePort )
-attributetype ( GLOBAL_CONFIG:3 NAME 'DAQLogbookUser'      DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:4 NAME 'DAQLogbookPassword'  DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:5 NAME 'DAQLogbookDB'        DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:6 NAME 'DAQLogbookTable'     DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:7 NAME 'ShuttleLogbookTable'     DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:8 NAME 'RunTypeLogbookTable'     DESC ''    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:9 NAME 'MaxRetries'          DESC 'number of retries for failures of a preprocessor'    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:10 NAME 'PPTimeOut'           DESC 'number of seconds until preprocessor is aborted'    EQUALITY caseIgnoreMatch    SUP name )
-attributetype ( GLOBAL_CONFIG:11 NAME 'PPMaxMem'           DESC 'Max. mem consumption in KB of a preprocessor'    EQUALITY caseIgnoreMatch    SUP name )
+attributetype ( GLOBAL_CONFIG:1  NAME 'daqLbHost'      DESC 'DAQ Logbook host'             EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:2  NAME 'daqLbPort'      DESC 'DAQ Logbook port'                                                SUP ipServicePort SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:3  NAME 'daqLbUser'      DESC 'DAQ Logbook user'             EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:4  NAME 'daqLbPasswd'    DESC 'DAQ Logbook passwd'           EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:5  NAME 'daqLbDB'               DESC 'DAQ Logbook DB'               EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:6  NAME 'daqLbTable'     DESC 'DAQ Logbook table'            EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:7  NAME 'shuttleLbTable' DESC 'SHUTTLE Logbook table'        EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:8  NAME 'runTypeLbTable' DESC 'RunType Logbook table'        EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:9  NAME 'ppmaxRetries'   DESC 'retries before pp fail'      EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:10 NAME 'ppTimeOut'      DESC 'seconds before pp abort'     EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
+attributetype ( GLOBAL_CONFIG:11 NAME 'ppMaxMem'       DESC 'max pp mem consumption (KB)'  EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
 
 objectclass ( GLOBAL_CONFIG
-        NAME 'AliShuttleGlobalConfig'
-        DESC 'ALICE: Access to DAQ logbook settings'
+        NAME 'globalConfig'
+        DESC 'ALICE: settings for DAQ logbook access'
         SUP top
-        MUST (name $ DAQLogbookHost $ DAQLogbookUser $ DAQLogbookPassword $ DAQLogbookDB $ DAQLogbookTable $
-       ShuttleLogbookTable $ RunTypeLogbookTable $ MaxRetries $ PPTimeOut $ PPMaxMem)
-        MAY ( DAQLogbookPort ) )
+        MUST (name $ daqLbHost $ daqLbUser $ daqLbPasswd $ daqLbDB $ daqLbTable $ shuttleLbTable $ runTypeLbTable $ ppMaxRetries $ ppTimeOut $ ppMaxMem)
+        MAY ( daqLbPort ) )
 
 
-objectidentifier INSTANCE_CONFIG SHUTTLE_BASE:4
+objectidentifier INSTANCE_CONFIG SHUTTLE_BASE:5
 
-attributetype ( INSTANCE_CONFIG:1 NAME 'ShuttleHost' DESC 'Host that is running the Shuttle'  EQUALITY caseIgnoreMatch    SUP name )
+attributetype ( INSTANCE_CONFIG:1 NAME 'shuttleHost' DESC 'Host that is running the Shuttle'  EQUALITY caseIgnoreMatch    SUP name SINGLE-VALUE )
 attributetype ( INSTANCE_CONFIG:2 NAME 'detectors'   DESC 'Detector list'                     EQUALITY caseIgnoreMatch    SUP name )
 
 objectclass ( INSTANCE_CONFIG
-        NAME 'AliShuttleInstance'
+        NAME 'ShuttleInstance'
         DESC 'ALICE: Shuttle instance configuration.'
         SUP top
-        MUST (name $ ShuttleHost)
+        MUST (name $ shuttleHost)
         MAY (detectors)
         )