Print

Print


Thanks Matt, that seems to be the problem. It is working now (aside from a
lot of errors, but I think you said that was not critical to the basic
event conversion).

Thanks,

Kyle

On Sun, Dec 14, 2014 at 11:38 PM, Graham, Mathew Thomas <
[log in to unmask]> wrote:
>
>
>  Actually, I think the detector should point to a detector name
> (“HPS-ECalCommissioning”) and not the path to the lcdd file.
>  lcsim/hps-java actually uses the compact.xml to build it’s detector (slic
> uses the lcdd).
>
>  On Dec 14, 2014, at 10:36 PM, Kyle McCarty <[log in to unmask]> wrote:
>
>   Hello Matt,
>
>  When I try to run this, I first get an error saying that the steering
> file can not set "hide" in the ecal plots driver. Disabling this driver to
> bypass the error, I then get a second error
>
>  Exception in thread "main" java.lang.RuntimeException
>>         at org.hps.evio.EvioToLcio.run(EvioToLcio.java:271)
>>         at org.hps.evio.EvioToLcio.main(EvioToLcio.java:99)
>>
>
>  that seems to be triggered by the following line:
>
>  conditionsManager.setDetector(detectorName, runNumber);
>>
>
>  The command I used was:
>
>  java -cp $HPS_JAVA org.hps.evio.EvioToLcio -x
>> EngineeringRun2014ECalRecon.lcsim -d
>> ~/lcsim/detector-data/HPS-ECalCommissioning/HPS-ECalCommissioning.lcdd -n
>> 1000000 hps_003206.evio.0 -DoutputFile="hps_003206.slcio" -R 3206
>>
>
>  Any ideas why this failed?
>
> Thanks,
>
> Kyle
>
> On Sun, Dec 14, 2014 at 5:08 PM, McCormick, Jeremy I. <
> [log in to unmask]> wrote:
>>
>> Hi,
>>
>> I have some tips to simplify this….
>>
>> If you want to use a certain detector and run number combo and then
>> “freeze” this in the conditions system, then you may use ConditionsDriver
>> as the first exec driver in your list like this in the steering file.
>>
>> <driver name=“ConditionsDriver”
>> type=“org.hps.conditions.ConditionsDriver”>
>>    <detectorName>HPS-ECalCommissioning</detectorName>
>>    <runNumber>3229</runNumber>
>>    <freeze>true</freeze>
>> </driver>
>>
>> There’s no need then to make this an argument to EvioToLcio or your front
>> end script, as it becomes hard coded into the steering job.  (You can still
>> use the command line arguments for this if you want though.  I don’t
>> exactly know right now what happens if you specify both so be careful about
>> that!)
>>
>> Also, you should prefer to use the standard Maven installation dir for
>> the jar rather than a relative path…
>>
>>
>> ~/.m2/repository/org/hps/hps-distribution/3.1-SNAPSHOT/hps-distribution-3.1-SNAPSHOT-bin.jar
>>
>> This makes your script more portable, as anyone who has installed
>> hps-distribution should have that jar file located in their home area.
>>
>> Also, I have just added a command line argument to the converter which
>> allows it to take a list of EVIO files from a text file.  This is sometimes
>> more convenient than needing to list all of them explicitly.
>>
>> So I would make a simple run script more like this (assuming that you’ve
>> modified the steering as above and built it into the bin jar).
>>
>> ----
>> #!/bin/sh
>>
>> # path to hps-distribution jar
>>
>> binjar=~/.m2/repository/org/hps/hps-distribution/3.1-SNAPSHOT/hps-distribution-3.1-SNAPSHOT-bin.jar
>>
>> # get the list of files from the command line
>> if [ -z $1 ]; then
>>     echo “missing input file list”
>>     exit 1
>> fi
>> fileList=$1
>>
>> # get the output file name from the name of the input file list
>> outputFile=$(basename ${fileList%.*})
>> outputFile=${outputFile}_recon
>>
>> # run the lcsim job
>> java -cp ${binjar} org.hps.evio.EvioToLcio -r -x
>> /org/hps/steering/recon/EngineeringRun2014ECalRecon.lcsim
>> -DoutputFile=${outFile} -f ${fileList} &> ${outputFile}.log
>> ----
>>
>> I won’t modify your steering file in SVN.  But locking the conditions
>> system to a known good detector and run number for now might not be a bad
>> idea.  In the future, the run number will come from individual EVIO events
>> if needed, but this isn’t implemented yet in our code.  It would need to
>> see a pre start event first in order for the conditions system to be
>> automatically configured correctly, which should work if you have the
>> “evio.0” file as the first one in the list, but this probably isn’t
>> something we can depend on.
>>
>> Hope that helps.
>>
>> —Jeremy
>>
>>
>> On Dec 14, 2014, at 12:58 PM, Graham, Mathew Thomas <
>> [log in to unmask]> wrote:
>>
>> >
>>  > Here is the script I’ve been using to run reconstruction (I may have
>> posted this already, but to bad)…I just committed this example recon file,
>> which is basically the same as that the monitoring is using.  This will do
>> whatever recon you want to do in the .lcsim and write out the lcio file
>> with the converted evio collections + any reco collections that get added
>> to the event.
>> >
>> > ===================================
>> > #!/usr/bin/perl
>> >
>> $steering="resources/org/hps/steering/recon/EngineeringRun2014ECalRecon.lcsim";
>> >
>> $jarfile="hps_trunk/distribution/target/hps-distribution-3.1-SNAPSHOT-bin.jar";
>> > $detector="HPS-ECalCommissioning";
>> > $run=3229;
>> > $in="Data/hps_00$run.evio.0";
>> > $out = "recon-$run";
>> > `java -cp $jarfile org.hps.evio.EvioToLcio   -x $steering -d $detector
>> -n 1000000 $in -DoutputFile=${out} -R $run >& foobar`;
>> > ====================================
>> >
>>  > 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
>> >
>>
>> ########################################################################
>>  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
>>
>
>

########################################################################
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