<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class=""><br class="">
</div>
<div class="">There was some discussion today at the run meeting about handling potential errors in configuring the DAQ.  </div>
<div class=""><br class="">
</div>
<div class="">I wanted to follow up on this to explain what I was trying to say....</div>
<div class=""><br class="">
</div>
<div class="">My understanding is that DAQ config files, while well-preserved with production run data, are potentially editable by anyone that has access.  This means that it is possible for undesirable changes to creep in through (e.g., a short production
 test, debugging, etc.. ) any event that results in editing of the file and the author forgetting to roll back all the changes.</div>
<div class=""><br class="">
</div>
<div class="">The only way to avoid this is to ensure that the DAQ is initialized from some specific version of a "write only" master source, e.g., database or svn would work.</div>
<div class=""><br class="">
</div>
<div class="">Let's say you maintain the various DAQ files for subsystems in svn, then you could have a single database constant that fully specifies the version of the DAQ.  Call this constant DAQ_config, it maps system to version, e.g.:</div>
<div class=""><br class="">
</div>
<div class="">DAQ_config  (version 1)</div>
<div class="">BCAL --> 6</div>
<div class="">FDC --> 13</div>
<div class="">CDC --> 2</div>
<div class="">...</div>
<div class=""><br class="">
</div>
<div class="">The startup process then begins by saying that for a given run, we are going to use version 1 of DAQ_config.  This then results in pulling (from svn) the BCAL config file revision 6, FDC revision 13, CDC revision 2, ..... and then starting up
 the system.</div>
<div class=""><br class="">
</div>
<div class="">If you want a different configuration of the DAQ, then write a new version of this constant with different version numbers in the fields.</div>
<div class=""><br class="">
</div>
<div class="">Then, no matter what, if you take data with the same version of DAQ_config, there is absolutely no way to get a different configuration of the DAQ.  And, as a bonus, when comparing runs taken by two different version of DAQ_config, you can easily
 see which subsystems have potentially changed configuration.</div>
<div class=""><br class="">
</div>
<div class="">(This is arguably better done without svn and having the configurations for the subsystems be their own database tables, but it sounds like svn is already in use and would work.)</div>
<div class=""><br class="">
</div>
<div class="">Again, my concern is *not* that we don't know what the configuration of the DAQ is, it is that we have the potential to make undesirable inadvertent changes.  We may not realize we've changed something until well after the data are acquired.  In
 that case, the existing tracking of configuration will, as has been demonstrated, help us figure out where we screwed up, but won't fix the fact that we didn't configure the DAQ the way we wanted to.</div>
<div class=""><br class="">
</div>
<div class="">Perhaps I'm misunderstanding something or practically implementing the scheme above is challenging, but configuring the DAQ for precious production running for the experiment using (many!) freely editable text files seems .....</div>
<div class=""><br class="">
</div>
<div class="">Matt</div>
<div class=""><br class="">
</div>
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
---------------------------------------------------------------------<br class="">
Matthew Shepherd, Professor<br class="">
Department of Physics, Indiana University, Swain West 117<br class="">
727 East Third Street, Bloomington, IN 47405<br class="">
<br class="">
Office Phone:  +1 812 856 5808</div>
</span></div>
</span></div>
</div>
</div>
<br class="">
</div>
</body>
</html>