Print

Print


Hi,

We went over some ECAL conditions topics in the software meeting, today.  

Here is a collection of information for you about current development on this task, some of which is answering your previous emails.

1) I removed the ability to set a 'default' run number in the ConditionsDriver, because this does not really make any sense in terms of the architecture.  The processing of each event header would cause this to be reset, anyways.  I think it makes more sense to have the run numbers in your data that match the conditions system, at least for now.

2) The best way right now to test the readout code is going to be setting run numbers in your SLIC test data to match ones from the test run.  You can do this using the '-r' option to slic for your batch job.  I would use '1351' for this and the detector 'HPS-TestRun-v5'.  

It would look something like...

slic -g HPS-TestRun-v5.lcdd -r 1351 [rest of options]

Can you try this and let me know if it works?  

3) I did merge in some changes from trunk to the branches that Sho had made, as I am trying to keep the branches in sync so that the merge back to trunk doesn't have major conflicts.  I apologize if this caused conflicts in the branch, and from now on I'll ask before doing this.  You will need to hand merge these now on the branch by editing the files that do not compile anymore to put in the changes from trunk.  The best way to make sure everything always works for merges FROM trunk to the branches would be making sure to checkin in all of your code at the end of each work day.  This way when merging to the branches, it will be likely the merge can just happen automatically.  When you have modified code that isn't in SVN, and then I merge from trunk, when you 'svn up' you'll get conflicts because the SVN doesn't know about your current version.  This is a reason to make sure the branch code is up to date with your working copy on a daily basis.

4) We should establish a development conditions database that can be used once the software is ported to use the new conditions system.  Right now there are text files in HPS Java that have all the gains set to '1.0' and the pedestals at a fixed value, as well as time shifts at zero, for '2014' conditions.  These more-or-less dummy values can be imported  to the development database for you, but I don't believe it is very useful in the task of porting from the old conditions system, as there is nothing to test it against.  I think usage of the development database should happen once the move has been made from the old system, but if this is urgent please let me know and I'll work on it now.  In the development database, we'll establish a run '0' set of conditions that will by default used with 2014 detector MC data.

5) It may be useful to communicate via chat rather than a lot of emails.  I am 'jeremyslac' on AIM and [log in to unmask] so if you have any immediate issues or questions that need answers please feel free to contact me there.  Probably your evenings after 6 pm or so would be the best time.  The AIM app is always active on my phone, too, so I usually answer that right away.

6) There is a useful way to find class references in Eclipse by highlighting a class name, right clicking on it, and selecting 'References > Workspace'.  This will then show all the references to this class in your workspace.  You can do this on the class 'trunk/conditions/src/main/java/org/hps/conditions/deprecated/EcalConditions.java' to find usages of the old conditions system that need to be replaced.

7) I forgot that there is a significant amount of code in the 'evio' module that is calling the old conditions system.  I can branch this for you, too.  In fact, we probably should do this.  But we may want to complete work on the ecal-recon and ecal-readout-sim branches, first, and verify that it is working before doing this.

8) I looked at the changes you have made on this task that were put into SVN, and they look good actually.  I think you are going in the right direction.

9) Testing this code is absolutely crucial, and we need to convince ourselves that the conditions are working correctly in the ecal-recon and ecal-readout-sim before doing the merge back to the trunk.  See #2 about the best way to test the readout simulation with MC data.  In fact, before you make any more alterations to the code, you will want to setup a proper system for testing the changes.  Trying to fix up everything after making many un-tested changes can be a mini-disaster, so I recommend you don't do this and instead test every change as you go along.

10) The conditions module itself should not be considered unalterable, so if there are methods or functionality missing, especially from the ecal package, please let me know.  We can add directly to any of the classes in the conditions module, and some code may make more sense there, especially if you find yourself repeating code snippets in many places.  Those should more properly be methods in the conditions system itself.  Once you get a feel for it, also please feel free to add methods or classes to the conditions system that you think make more sense there.  That should be done on the trunk copy of the conditions module.  (It isn't branched.)

There was probably some other stuff too from the meeting, but my note from Evernote didn't update properly to my work machine!

As always, if you have any questions, let me know.

--Jeremy

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1