Print

Print


I figured out a different approach to this; when reading LCIO events from a
file, every object in there has to be converted, and a converter must be
present.  So I just created a dummy converter for the type of object that
existed in the file but the converter wasn't available.  this way i didnt
have to mess with hps-java, and was able to just use my own main method.

On Fri, Jul 24, 2015 at 10:13 PM, Graf, Norman A. <[log in to unmask]>
wrote:

> Hey Nathan,
>  In general, you can find out this information for any jar file via:
>
> >  unzip -p hps-distribution-3.4.0-SNAPSHOT-bin.jar META-INF/MANIFEST.MF
>
> It will show up as Main-Class if defined.
> Norman
>
> ________________________________________
> From: [log in to unmask] <[log in to unmask]> on
> behalf of Sho Uemura <[log in to unmask]>
> Sent: Friday, July 24, 2015 5:53 PM
> To: Nathan Baltzell
> Cc: Sebouh Paul; hps-software
> Subject: Re: error reading LCIO file
>
> It executes org.hps.job.JobManager.main() - org.hps.job.JobManager is the
> main class (there's a line in the hps-distribution pom.xml that sets
> this).
>
> On Fri, 24 Jul 2015, Nathan Baltzell wrote:
>
> > I have a java-for-dummies question:
> >
> >> java -jar hps-distribution-bin.jar -i lcioFile.slcio steeringFile.xml
> >
> > In what code in hps-java does this command start execution?
> > Or what is the main class here (is that the correct jargon?)?
> >
> > (I'm only familiar with "java -cp hps.jar org.hps.evio.EvioToLcio".)
> >
> > -Nathan
> >
> >
> >
> > On Jul 24, 2015, at 8:27 PM, Sho Uemura <[log in to unmask]> wrote:
> >
> >> Instead of writing a main() class and doing your analysis inside it,
> you would probably find it easier to write a Driver. Then the existing
> hps-java code will take care of reading events from the file and passing
> EventHeaders to your Driver.
> >>
> >> Roughly:
> >>
> >> 1. Follow the instructions to install and build hps-java (maybe you've
> done this already):
> https://confluence.slac.stanford.edu/display/hpsg/Installing+HPS+Java
> >>
> >> 2. Make a class that extends Driver, much like what you already seem to
> have in
> trunk/users/src/main/java/org/hps/users/spaul/HitrateHistograms.java. You
> can put your analysis code in the method process(EventHeader event).
> >>
> >> 3. Build hps-java to compile your Driver into an hps-distribution .jar
> file.
> >>
> >> 4. Write a steering file that calls your Driver, much like what you
> have in
> trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/HitrateHistograms.lcsim.
> >>
> >> 5. Run the steering file on data:
> >>
> >> java -jar hps-distribution-bin.jar -i lcioFile.slcio steeringFile.xml
> >>
> >>
> >> If there's a reason a Driver is not appropriate for what you're doing,
> maybe we can figure something out that works. What you're doing now seems
> really strange without some more explanation.
> >>
> >> On Fri, 24 Jul 2015, Sebouh Paul wrote:
> >>
> >>> this seems like a stupid question but how do I get an "EventHeader"
> from a
> >>> file?
> >>>
> >>> I get this error:
> >>>
> >>> ifarm1101> java -cp "lib/*:bin" hps.protonradius.GetCharge
> >>>
> /work/hallb/hps/data/engrun2015/pass1/recon/hps_005779.81_recon_R3321.slcio
> >>> 5779
> >>>
> >>> blah
> >>>
> >>> Exception in thread "main"
> >>> org.lcsim.conditions.ConditionsManager$ConditionsSetNotFoundException:
> No
> >>> converter registered for type: org.lcsim.geometry.Detector
> >>>
> >>> at
> >>>
> org.lcsim.conditions.ConditionsManagerImplementation.getCachedConditions(ConditionsManagerImplementation.java:92)
> >>>
> >>> at
> org.lcsim.event.base.BaseLCSimEvent.getDetector(BaseLCSimEvent.java:76)
> >>>
> >>> at
> >>>
> org.lcsim.lcio.SIOTrackBlockHandler.addCollectionElements(SIOTrackBlockHandler.java:23)
> >>>
> >>> at
> >>>
> org.lcsim.lcio.AbstractBlockHandler.readCollection(AbstractBlockHandler.java:39)
> >>>
> >>> at
> >>>
> org.lcsim.lcio.AbstractBlockHandler.readBlock(AbstractBlockHandler.java:32)
> >>>
> >>> at org.lcsim.lcio.LCIOReader.read(LCIOReader.java:77)
> >>>
> >>> at hps.protonradius.GetCharge.main(GetCharge.java:22)
> >>>
> >>>
> >>> With this program:
> >>>
> >>> public class GetCharge {
> >>>
> >>> public static void main(String arg[]) throws IOException,
> >>> NumberFormatException, ConditionsNotFoundException{
> >>>
> >>> LCIOReader reader = new LCIOReader(new File(arg[0]));
> >>>
> >>>
> //ConditionsManagerImplementation.defaultInstance().setRun(Integer.parseInt(arg[1]));
> >>>
> >>> //ConditionsManagerImplementation.defaultInstance().
> >>>
> >>> System.out.println("blah");
> >>>
> >>> EventHeader h = reader.read();
> >>>
> >>> while(h != null){
> >>>
> >>> process(h);
> >>>
> >>> }
> >>>
> >>> System.out.println("done");
> >>>
> >>> }
> >>>
> >>> ....
> >>>
> >>> }
> >>>
> >>>
> ########################################################################
> >>> 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
> >
>
> ########################################################################
> 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