https://halldweb.jlab.org/wiki/api.php?action=feedcontributions&user=Bellis&feedformat=atomGlueXWiki - User contributions [en]2024-03-28T22:35:38ZUser contributionsMediaWiki 1.24.1https://halldweb.jlab.org/wiki/index.php?title=Deprecated:_Kinematic_Fitter&diff=8942Deprecated: Kinematic Fitter2008-07-03T05:37:01Z<p>Bellis: </p>
<hr />
<div>[[http://www.phys.ufl.edu/~avery/kwfit/ Avery KWFIT]]<br />
<br />
[[http://www.phys.ufl.edu/~avery/fitting.html Avery Fitting]]<br />
<br />
[[http://arxiv.org/abs/physics/0503191 Hulsbergen Decay Chain Fitting]]<br />
<br />
[[http://www.nikhef.nl/pub/experiments/bfys/general/talks/ Nikhef Talks]]</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Deprecated:_Kinematic_Fitter&diff=8941Deprecated: Kinematic Fitter2008-07-03T05:36:35Z<p>Bellis: </p>
<hr />
<div>[[http://www.phys.ufl.edu/~avery/kwfit/ Avery KWFIT]]<br />
[[http://www.phys.ufl.edu/~avery/fitting.html Avery Fitting]]<br />
[[http://arxiv.org/abs/physics/0503191 Hulsbergen Decay Chain Fitting]]<br />
[[http://www.nikhef.nl/pub/experiments/bfys/general/talks/ Nikhef Talks]]</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=GlueX-Collaboration-May-2008&diff=8298GlueX-Collaboration-May-20082008-05-08T19:46:08Z<p>Bellis: /* Thursday May 8, 2008 */</p>
<hr />
<div>== GlueX Collaboration Meeting ==<br />
<br />
May 8, 9 an 10, 2008 at Jefferson Lab<br />
<br />
The following template has been set up to allow people to identify what needs to be presented <br />
at the meeting. It has been roughly broken out by working group with suggestions for topics <br />
within each group. The working group chairs should work on adding the relevant talks with an <br />
estimated time (including questions) and the speaker's name. If there is a talk that does not <br />
fit into this template, please add it at the bottom. <br />
<br />
== Registration ==<br />
Everyone participating in the collaboration meeting whether in person at JLab or remotely via<br />
electronic media are encouraged to register. One can register on the<br />
[http://www.jlab.org/Hall-D/meetings/coll_may2008/Registration/Register.php Registration Page]<br />
<br />
To see who else will be attending either in person or via electronic media, please see the<br />
[http://www.jlab.org/Hall-D/meetings/coll_may2008/Registration/ShowRegistrants.php Current List of Participants Page]<br />
<br />
== Location ==<br />
Room L102/104 <br><br />
CEBAF Center<br><br />
Jefferson Lab<br />
<br />
== Remote Access ==<br />
ESNET: 8542553 <br><br />
EVO: Room Booked under GlueX <br><br />
<br />
== Talks on the DocDB ==<br />
<br />
http://argus.phys.uregina.ca/cgi-bin/private/DocDB/DisplayMeeting?conferenceid=20<br />
<br />
== Thursday May 8, 2008 ==<br />
* 15:00 (15) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1050 Opening Remarks] -- Curtis Meyer<br />
* 15:15 Session I (90) --- Offline Working Group Meeting --- Chair Curtis Meyer<br />
** (20) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1042 Offline Software Status] -- D. Lawrence<br />
** (20) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001047/001/high-intensity.ppt GlueX Luminosity Limits] -- R. Jones<br />
** (20) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001049/002/kalman_tracking.pdf Kalman Tracking] -- S. Taylor<br />
** (15) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001048/003/piKseparation_CollaborationTalk.pdf Kinematic Fitting] -- M. Bellis<br />
** (15) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001046/001/rezest_talk.pdf Parametric Calc./Simulation] -- M. Ito<br />
** (10) BCAL standalone simulations -- Zisis P.<br />
*:<br />
* 17:00 Collabration Board Meeting (60)<br />
<br />
== Friday May 9, 2008 ==<br />
* 8:30 (30) Report from the Collaboration Board <br />
* 9:00 Session IIa --- Calorimetry Working Group Meeting --- Chair Paul Eugenio<br />
** 9:00 (10) Calibration Update --- Christina Kourkoumeli <br />
** 9:10 (25) Forward Calorimeter Updates --- Mihajlo Kornicer<br />
** 9:35 (45) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1052 BCAL Updates] --- George Lolos<br />
** 10:10 (20) SiPM -- Carl Zorn<br />
* 10:30 (15) Coffee Break<br />
** 10:45 (35) Calorimetry Group Discussion<br />
* 11:20 Session IIb --- Tracking Working Group --- Chair George Lolos<br />
** 11:20 (25) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001053/001/fdc_status.pdf Forward Drift Chamber Issues] -- Simon Taylor<br />
** 11:45 (25) Central Drift Chamber Issues -- Yves Van Haarlem<br />
** 12:10 (35) Asic Discussion ---Discussion Leader Fernando Barbosa<br />
* 12:45 (75) Lunch Break<br />
* 14:00 Session IIIa --- Review Closeout<br />
* 15:00 Session IIIb --- Photon Beam and Tagger --- Chair: R. Jones<br />
** 15:00 (20) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1044 Tagger and Beamline Design] -- J. Stewart<br />
** 15:20 (20) Pair Spectrometer Design Proposal -- H. Hakopian<br />
** 15:40 (15) Tagging Near the End Point -- R. Jones<br />
* 15:55 (15) Coffee Break<br />
** 16:10 (25) Beamline Discussion -- Discussion Leader Jim Stewart<br />
* 16:35 Session IIIc --- Trigger --- Chair Elke Aschenauer<br />
** 16:35 (40) [http://www.jlab.org/Hall-D/reviews/System_Review_May08/Final_Talks/W8-trigger_simulation_alex_somov.pdf Update on the Trigger] --- Alex Somov<br />
* 17:15 Session IIIc --- Collaboration Discussion<br />
** 17:15 (45) Upcoming Issues and Deadlines Elke Aschenauer<br />
<br />
== Saturday May 10 ==<br />
* 9:00 Session IIIa --- Collaboration Business --- Chair George Lolos<br />
** 9:00 (45) Update on the Collaboration + Business -- Curtis<br />
** 9:45 (45) PrimeX Collaboration -- Ashot Gasparian<br />
** 10:30 (15) Close out -- Curtis<br />
* 10:45 Adjorn</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=GlueX-Collaboration-May-2008&diff=8297GlueX-Collaboration-May-20082008-05-08T19:44:19Z<p>Bellis: /* Thursday May 8, 2008 */</p>
<hr />
<div>== GlueX Collaboration Meeting ==<br />
<br />
May 8, 9 an 10, 2008 at Jefferson Lab<br />
<br />
The following template has been set up to allow people to identify what needs to be presented <br />
at the meeting. It has been roughly broken out by working group with suggestions for topics <br />
within each group. The working group chairs should work on adding the relevant talks with an <br />
estimated time (including questions) and the speaker's name. If there is a talk that does not <br />
fit into this template, please add it at the bottom. <br />
<br />
== Registration ==<br />
Everyone participating in the collaboration meeting whether in person at JLab or remotely via<br />
electronic media are encouraged to register. One can register on the<br />
[http://www.jlab.org/Hall-D/meetings/coll_may2008/Registration/Register.php Registration Page]<br />
<br />
To see who else will be attending either in person or via electronic media, please see the<br />
[http://www.jlab.org/Hall-D/meetings/coll_may2008/Registration/ShowRegistrants.php Current List of Participants Page]<br />
<br />
== Location ==<br />
Room L102/104 <br><br />
CEBAF Center<br><br />
Jefferson Lab<br />
<br />
== Remote Access ==<br />
ESNET: 8542553 <br><br />
EVO: Room Booked under GlueX <br><br />
<br />
== Talks on the DocDB ==<br />
<br />
http://argus.phys.uregina.ca/cgi-bin/private/DocDB/DisplayMeeting?conferenceid=20<br />
<br />
== Thursday May 8, 2008 ==<br />
* 15:00 (15) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1050 Opening Remarks] -- Curtis Meyer<br />
* 15:15 Session I (90) --- Offline Working Group Meeting --- Chair Curtis Meyer<br />
** (20) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1042 Offline Software Status] -- D. Lawrence<br />
** (20) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001047/003/high-intensity.ppt GlueX Luminosity Limits] -- R. Jones<br />
** (20) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001049/002/kalman_tracking.pdf Kalman Tracking] -- S. Taylor<br />
** (15) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001048/001/piKseparation_CollaborationTalk.pdf Kinematic Fitting] -- M. Bellis<br />
** (15) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001046/001/rezest_talk.pdf Parametric Calc./Simulation] -- M. Ito<br />
** (10) BCAL standalone simulations -- Zisis P.<br />
*:<br />
* 17:00 Collabration Board Meeting (60)<br />
<br />
== Friday May 9, 2008 ==<br />
* 8:30 (30) Report from the Collaboration Board <br />
* 9:00 Session IIa --- Calorimetry Working Group Meeting --- Chair Paul Eugenio<br />
** 9:00 (10) Calibration Update --- Christina Kourkoumeli <br />
** 9:10 (25) Forward Calorimeter Updates --- Mihajlo Kornicer<br />
** 9:35 (45) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1052 BCAL Updates] --- George Lolos<br />
** 10:10 (20) SiPM -- Carl Zorn<br />
* 10:30 (15) Coffee Break<br />
** 10:45 (35) Calorimetry Group Discussion<br />
* 11:20 Session IIb --- Tracking Working Group --- Chair George Lolos<br />
** 11:20 (25) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001053/001/fdc_status.pdf Forward Drift Chamber Issues] -- Simon Taylor<br />
** 11:45 (25) Central Drift Chamber Issues -- Yves Van Haarlem<br />
** 12:10 (35) Asic Discussion ---Discussion Leader Fernando Barbosa<br />
* 12:45 (75) Lunch Break<br />
* 14:00 Session IIIa --- Review Closeout<br />
* 15:00 Session IIIb --- Photon Beam and Tagger --- Chair: R. Jones<br />
** 15:00 (20) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1044 Tagger and Beamline Design] -- J. Stewart<br />
** 15:20 (20) Pair Spectrometer Design Proposal -- H. Hakopian<br />
** 15:40 (15) Tagging Near the End Point -- R. Jones<br />
* 15:55 (15) Coffee Break<br />
** 16:10 (25) Beamline Discussion -- Discussion Leader Jim Stewart<br />
* 16:35 Session IIIc --- Trigger --- Chair Elke Aschenauer<br />
** 16:35 (40) [http://www.jlab.org/Hall-D/reviews/System_Review_May08/Final_Talks/W8-trigger_simulation_alex_somov.pdf Update on the Trigger] --- Alex Somov<br />
* 17:15 Session IIIc --- Collaboration Discussion<br />
** 17:15 (45) Upcoming Issues and Deadlines Elke Aschenauer<br />
<br />
== Saturday May 10 ==<br />
* 9:00 Session IIIa --- Collaboration Business --- Chair George Lolos<br />
** 9:00 (45) Update on the Collaboration + Business -- Curtis<br />
** 9:45 (45) PrimeX Collaboration -- Ashot Gasparian<br />
** 10:30 (15) Close out -- Curtis<br />
* 10:45 Adjorn</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=GlueX-Collaboration-May-2008&diff=8287GlueX-Collaboration-May-20082008-05-08T06:41:43Z<p>Bellis: /* Thursday May 8, 2008 */</p>
<hr />
<div>== GlueX Collaboration Meeting ==<br />
<br />
May 8, 9 an 10, 2008 at Jefferson Lab<br />
<br />
The following template has been set up to allow people to identify what needs to be presented <br />
at the meeting. It has been roughly broken out by working group with suggestions for topics <br />
within each group. The working group chairs should work on adding the relevant talks with an <br />
estimated time (including questions) and the speaker's name. If there is a talk that does not <br />
fit into this template, please add it at the bottom. <br />
<br />
== Registration ==<br />
Everyone participating in the collaboration meeting whether in person at JLab or remotely via<br />
electronic media are encouraged to register. One can register on the<br />
[http://www.jlab.org/Hall-D/meetings/coll_may2008/Registration/Register.php Registration Page]<br />
<br />
To see who else will be attending either in person or via electronic media, please see the<br />
[http://www.jlab.org/Hall-D/meetings/coll_may2008/Registration/ShowRegistrants.php Current List of Participants Page]<br />
<br />
== Location ==<br />
Room L102/104 <br><br />
CEBAF Center<br><br />
Jefferson Lab<br />
<br />
== Remote Access ==<br />
ESNET: 8542553 <br><br />
EVO: Room Booked under GlueX <br><br />
<br />
== Talks on the DocDB ==<br />
<br />
http://argus.phys.uregina.ca/cgi-bin/private/DocDB/DisplayMeeting?conferenceid=20<br />
<br />
== Thursday May 8, 2008 ==<br />
* 15:00 (15) Opening Remarks Curtis Meyer<br />
* 15:15 Session I (90) --- Offline Working Group Meeting --- Chair Curtis Meyer<br />
** (20) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1042 Offline Software Status] -- D. Lawrence<br />
** (20) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001047/001/high-intensity.ppt GlueX Luminosity Limits] -- R. Jones<br />
** (20) Kalman Tracking -- S. Taylor<br />
** (15) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001048/001/piKseparation_CollaborationTalk.pdf Kinematic Fitting] -- M. Bellis<br />
** (15) [http://argus.phys.uregina.ca/gluex/DocDB/0010/001046/001/rezest_talk.pdf Parametric Calc./Simulation] -- M. Ito<br />
** (10) BCAL standalone simulations -- Zisis P.<br />
*:<br />
* 17:00 Collabration Board Meeting (60)<br />
<br />
== Friday May 9, 2008 ==<br />
* 8:30 (30) Report from the Collaboration Board <br />
* 9:00 Session IIa --- Calorimetry Working Group Meeting --- Chair Paul Eugenio<br />
** 9:00 (10) Calibration Update --- Christina Kourkoumeli <br />
** 9:10 (25) Forward Calorimeter Updates --- Mihajlo Kornicer<br />
** 9:35 (40) BCAL Updates --- George Lolos<br />
** 10:05 (30) SiPM -- Carl Zorn<br />
* 10:35 (15) Coffee Break<br />
** 10:45 (35) Calorimetry Group Discussion<br />
* 11:20 Session IIb --- Tracking Working Group --- Chair George Lolos<br />
** 11:20 (25) Forward Drift Chamber Issues -- Simon Taylor<br />
** 11:45 (25) Central Drift Chamber Issues -- Yves Van Haarlem<br />
** 12:10 (35) Asic Discussion ---Discussion Leader Fernando Barbosa<br />
* 12:45 (75) Lunch Break<br />
* 14:00 Session IIIa --- Review Closeout<br />
* 15:00 Session IIIb --- Photon Beam and Tagger --- Chair: R. Jones<br />
** 15:00 (20) [http://argus.phys.uregina.ca/cgi-bin/private/DocDB/ShowDocument?docid=1044 Tagger and Beamline Design] -- J. Stewart<br />
** 15:20 (20) Pair Spectrometer Design Proposal -- H. Hakopian<br />
** 15:40 (15) Tagging Near the End Point -- R. Jones<br />
* 15:55 (15) Coffee Break<br />
** 16:10 (25) Beamline Discussion -- Discussion Leader Jim Stewart<br />
* 16:35 Session IIIc --- Trigger --- Chair Elke Aschenauer<br />
** 16:35 (40) [http://www.jlab.org/Hall-D/reviews/System_Review_May08/Final_Talks/W8-trigger_simulation_alex_somov.pdf Update on the Trigger] --- Alex Somov<br />
* 17:15 Session IIIc --- Collaboration Discussion<br />
** 17:15 (45) Upcoming Issues and Deadlines Elke Aschenauer<br />
<br />
== Saturday May 10 ==<br />
* 9:00 Session IIIa --- Collaboration Business --- Chair George Lolos<br />
** 9:00 (45) Update on the Collaboration -- Curtis<br />
** 9:45 (45) PrimeX Collaboration -- Ashot Gasparian<br />
** 10:30 (30) Business Meeting -- Curtis<br />
* 11:00 Adjorn</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Deprecated:_PID&diff=8040Deprecated: PID2008-04-21T16:43:30Z<p>Bellis: </p>
<hr />
<div>* [[Kinematic Fitter]]</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Offline_Software&diff=8039Offline Software2008-04-21T16:42:23Z<p>Bellis: /* GlueX Offline Software */</p>
<hr />
<div>==HOWTO Documentation==<br />
<br />
* [[Getting started with GlueX Software|HOWTO get started with Hall-D Software]]<br />
<br />
* [[Getting started with Hall-D Software on the JLab CUE|HOWTO get started with Hall-D Software on the JLab CUE]]<br />
<br />
* [http://clasweb.jlab.org/wiki/index.php/HDDS2GEANT4_Installation_Notes Installing HDDS-to-GEANT4 converter]<br />
<br />
* [[Package Management|HOWTO install and/or create software packages]]<br />
<br />
* [[HOWTO do a Radiation Length Scan]]<br />
<br />
* [[HOWTO Access Calibration Constants from JANA/DANA]]<br />
<br />
<br />
<br />
==GlueX Offline Software==<br />
<br />
* [[Hall-D Software Meetings]]<br />
<br />
*[[Action Items From Hall-D Software Meetings|Action Items]]<br />
<br />
* [http://www.jlab.org/Hall-D/software/Software_tasks.php Software Task List]<br />
<br />
* [[Coding Conventions]]<br />
<br />
* [[JANA/DANA]]<br />
<br />
* [[Simulation Software]]<br />
<br />
* [[Reconstruction Software]]<br />
<br />
* [[PID]]<br />
<br />
* [http://www.jlab.org/Hall-D/software/HDSoftware_Documentation Doxygen generated documentation]<br />
<br />
* [http://clasweb.jlab.org/websvn/prod/ Browse the subversion code repository]<br />
<br />
==External Software Systems==<br />
<br />
* [[EVO]]<br />
* [[IRC]]<br />
<br />
<br />
<br />
==Misc.==<br />
<br />
* [[Geometries for 2008 DC Review]]<br />
* [[Tracking resolution estimator (REZEST)]]</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Feb._29,_2008_Tracking_CDC/FDC&diff=7301Feb. 29, 2008 Tracking CDC/FDC2008-02-29T15:44:31Z<p>Bellis: /* Agenda */</p>
<hr />
<div>==Agenda==<br />
<br />
# [[Media:2008_02_29_TrackingStatus.pdf|Monte Carlo Status]] (David)<br />
# [http://dustbunny.physics.indiana.edu/~dzierba/Leap/ARD_Kinem.pdf Charged particle kinematics, resolutions and PID - Alex]<br />
#* Positive charged particle multiplicity as function of momentum at different z-poisitons in BCAL and polar angle in FCAL. These momentum distributions are also shown agains the event multiplicity. Ratios of these multiplicities as a function of momentum in z (BCAL) and polar angle (FCAL) respectively are also shown. The file AAAREADME contains a description of all the files in: [http://dustbunny.physics.indiana.edu/~bzihlman/PLOTS]<br />
# &pi;/K Separation via Kinematic Fitting Status (Matt)<br />
#* Started using Dave's track swimming routines to find tracks which hit the BCAL and forward TOF wall. [http://www-meg.phys.cmu.edu/~bellis/Physics/detectors.ps plot]<br />
#* Will be using this to include timing information in PID.<br />
# Parameterized momentum resolutions (Mark)<br />
# [[Update on track finding in FDC]] (Simon)<br />
# Parametric PWA Study (Paul)<br />
# E852 Connection (Alexander)<br />
# CDC Hardware Status<br />
# FDC Hardware Status<br />
# [[DC and PID Review]] Schedule for preparations (Elton)<br />
# Status of the Documentation<br />
<br />
==Participating==<br />
===Location===<br />
The meeting will be at 11:00am in Cebaf Center F326-327.<br />
<br />
===Telephone===<br />
To connect by telephone:<br />
1.) dial:<br />
800-377-8846 : US<br />
888-276-7715 : Canada<br />
302-709-8424 : International (''not a free call!'')<br />
<br />
2.) enter participant code: 39527048# (remember the "#")<br />
<br />
===Video Conferencing===<br />
<br />
<!--''The room at JLab does not have video conferencing equipment installed.''--><br />
<br />
We will attempt an ESNet connection for this meeting using the following number:<br />
<br />
'''8542553'''<br />
<br />
We have a reasonable expectation that this will work.<br />
<br />
==Minutes==<br />
<br />
Attendees: ''TBD''</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Feb._22,_2008_Tracking_CDC/FDC&diff=7159Feb. 22, 2008 Tracking CDC/FDC2008-02-22T05:42:08Z<p>Bellis: /* Agenda */</p>
<hr />
<div>==Agenda==<br />
<br />
# Status of MC resolution studies (David)<br />
# EM Background rates (David)<br />
# Status of Kinematic Fitting (Matt)<br />
## Signal Leakage in pi/K (new studies) [http://argus.phys.uregina.ca/gluex/DocDB/0009/000971/002/Bellis_piKseparation_II.pdf pi/K Separation (GlueX doc-971)] <br />
## Previous talk [http://argus.phys.uregina.ca/gluex/DocDB/0009/000971/002/Bellis_piKseparation.pdf pi/K Separation (GlueX doc-971)] <br />
# Status of PWA anchoring (Paul, Alexander?)<br />
# CDC Hardware Status<br />
# FDC Hardware Status<br />
<br />
==Participating==<br />
===Location===<br />
The meeting will be at 11:00am in Cebaf Center F324-325.<br />
<br />
===Telephone===<br />
To connect by telephone:<br />
1.) dial:<br />
800-377-8846 : US<br />
888-276-7715 : Canada<br />
302-709-8424 : International (''not a free call!'')<br />
<br />
2.) enter participant code: 39527048# (remember the "#")<br />
<br />
===Video Conferencing===<br />
<br />
''The room at JLab does not have video conferencing equipment installed.''<br />
<!--<br />
We will attempt an ESNet connection for this meeting using the following number:<br />
<br />
'''8542553'''<br />
<br />
We have a reasonable expectation that this will work.<br />
--><br />
<br />
<br />
==Minutes==<br />
<br />
Attendees: ''TBD''</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=February_8,_2008_Software&diff=6926February 8, 2008 Software2008-02-08T17:05:29Z<p>Bellis: /* Agenda */</p>
<hr />
<div>==Agenda==<br />
<br />
# Review minutes from [[January 25, 2007 Software]] meeting<br />
# Signal Leakage in pi/K (Matt) [http://argus.phys.uregina.ca/gluex/DocDB/0009/000971/002/Bellis_piKseparation.pdf pi/K Separation (GlueX doc-971)] <br />
# Motivating Specs in DC (All)<br />
# [[Action Items From Hall-D Software Meetings|Action Items]]<br />
<br />
==Participating==<br />
===Location===<br />
The meeting will be at 2:00pm in Cebaf Center F326-327.<br />
<br />
===Telephone===<br />
To connect by telephone:<br />
1.) dial:<br />
800-377-8846 : US<br />
888-276-7715 : Canada<br />
302-709-8424 : International<br />
<br />
2.) enter participant code: 39527048# (remember the "#")<br />
<br />
===Video Conferencing===<br />
<br />
We will attempt an ESNet connection for this meeting using the following number:<br />
<br />
'''8542553'''<br />
<br />
We have a reasonable expectation that this will work.<br />
<br />
<br />
<br />
==Minutes==<br />
<br />
Attendees: ''TBD''<br />
<br />
<br />
==[[Action Items From Hall-D Software Meetings|Action items]]==</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=File:KinFit_talk.pdf&diff=4465File:KinFit talk.pdf2007-07-26T06:05:18Z<p>Bellis: </p>
<hr />
<div></div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=July_2007_PID_Workshop&diff=4464July 2007 PID Workshop2007-07-26T06:03:52Z<p>Bellis: /* Agenda */</p>
<hr />
<div>== Location ==<br />
<br />
CEBAF Center: L102/04<br />
<br />
<br />
== Agenda ==<br />
<br />
Note that allotted times are very generous. ''Speakers should plan on using 1/2 of the time for a presentation. The remainder can be used for additional questions and discussion.'' Each speaker should try to pick up from where the May workshop left off and<br />
<br />
* summarize the current status<br />
* summarize what items from May remain to be done and whether they have other dependencies (tracking, neutral particle reconstruction, etc.)<br />
* discuss future plans and specific near term studies<br />
<br />
<br />
* '''Thursday, July 26:'''<br />
** 9:30 - 9:45: Opening Discussion (Matt S.)<br />
** 9:45 - 10:15: Overview of Neutral Kinematics and Detector Performance Needs (Alex) (Please see GlueX-docs-817, 835 & 838)<br />
** 10:15 - 11:15: BCAL: Presentation/Summary of Test Beam Results (Zisis/Blake), [http://argus.phys.uregina.ca/gluex/DocDB/0008/000804/003/BCAL06analysis2.pdf GlueX-doc-804-v3]<br />
** 11:15 - 11:30: Break<br />
** 11:30 - 12:00: BCAL: Determination of Light Output (Andrei), [[Media:bcal-talk070724.pdf|Presentation]]<br />
** 12:00 - 12:30: BCAL Hardware/Beam Test Closeout<br />
** 12:30 - 1:30: Lunch<br />
** 1:30 - 2:15: Neutral Reconstruction: BCAL Overview (Matt S.)<br />
** 2:15 - 3:00: Neutral Reconstruction: BCAL+FCAL -- &gamma;, &pi;<sup>0</sup>, &eta; / Material (Mihajlo)<br />
** 3:00 - 3:15: Break<br />
** 3:15 - 4:00: Neutral Reconstruction: Kinematic Fitting (Matt B.) [[Media:KinFit_talk.pdf|Presentation]]<br />
** 4:00 - 4:45: Neutral Reconstruction: UPV Reconstruction, Demands and Performance (Paul/Sasha)<br />
** 4:45 - 5:30: Summary Discussion<br />
<br />
<br />
* '''Friday, July 27:'''<br />
** 9:00 - 9:15: Opening Discussion (Matt S.)<br />
** 9:15 - 9:45: Charged PID: Recoil Proton and Forward Kaon Kinematics (Alex)<br />
** 9:45 - 10:30: Charged PID: Forward TOF Performance and Reconstruction (Beni): [[Media:tofstatus.pdf|Report]], [[Media:tofstat.pdf|Presentation]]<br />
** 10:30 - 10:45: Break<br />
** 10:45 - 11:15: Charged PID: BCAL TOF Recap (Zisis/Blake)<br />
** 11:15 - 12:00: Charged PID: Summary Discussion<br />
** 12:00 - 1:00: Lunch<br />
** 1:00 - 1:45: Hadronic Background Simulation (Eugene/Alex)<br />
** 1:45 - 2:45: Cost Reorganization Discussion (Elke)<br />
** 2:45 - 3:00: Break<br />
** 3:00 - 5:00 : Discussion/Summary/Planning Session<br />
*** What critical May items fell through the gaps?<br />
*** What specific studies should be near-term priorities?<br />
*** When are we ready for PID review?</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=CERNLIB_Installation&diff=3088CERNLIB Installation2007-03-06T16:32:35Z<p>Bellis: </p>
<hr />
<div>I have come across a few issues in the CERNLIB installation which broke HDGeant. Some of them may be common knowledge, <br />
but I thought it useful to list them here. <br />
<br />
Here's how I installed from source.<br />
<br />
==== Grab the files ====<br />
Go to http://cernlib.web.cern.ch/cernlib/version.html<br />
<br />
Decide which version you would like. For this example I chose 2006.<br />
<br />
Click on the ''compressed tar files'' link which takes you to http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/ <br />
<br />
Grab the following.<br />
<br />
*2006_src.tar.gz<br />
*include.tar.gz<br />
*mathlib32_src.tar.gz <br />
<br />
==== Untar the files ====<br />
For the purposes of this example I am placing CERNLIB under /usr/local/cern and it is here that I place these three tarballs.<br />
<br />
cd /usr/local/cern<br />
tar -zxvf 2006_src.tar.gz<br />
tar -zxvf include.tar.gz<br />
<br />
This should create the following directory structure<br />
<br />
2006<br />
2006/include<br />
2006/src <br />
<br />
==== Make ====<br />
To install the libraries I modify the script provided by cern found [http://cernlib.web.cern.ch/cernlib/install/start_cern here], changing the appropriate environment variables.<br />
<br />
Because I don't have ''gmake'' on my machine, I also replace the gmake commands in the script with "make MAKE=make".<br />
<br />
===== ''POTENTIAL MAKE ISSUE'' =====<br />
I did have one make issue when installing on these systems. I found I had to comment out one line in one of the files<br />
as it was creating some conflict with Motif libraries. <br />
<br />
2006/src/packlib/kuip/code_motif/iconwidget.c<br />
<br />
In this file I had to comment out the following line (on my installation it was line 38)<br />
<br />
#ifndef __APPLE__<br />
//void _XmDrawShadow ();<br />
#endif<br />
<br />
This is probably specific to certain installations so be aware you may or may not have to do this. <br />
<br />
==== Clean up some of the installation ====<br />
<br />
I found that this script does not install one key file so I do this by hand<br />
<br />
mkdir 2006/share<br />
mkdir 2006/share/lib<br />
cp 2006/src/geant321/data/xsneut95.dat 2006/share/lib/.<br />
<br />
==== Get lapack and blas ====<br />
<br />
You also need to build the lapack and blas libraries. The source can be obtained from http://cernlib.web.cern.ch/cernlib/install/lapack3.html <br />
<br />
I found it easier to build them in some other directory and then copy them by hand to the appropriate<br />
location.<br />
<br />
cd tmp<br />
tar -zxvf lapack.tgz<br />
cd lapack-<version><br />
cp make.inc.example make.inc<br />
<br />
Edit make.inc to your heart's content. I think I left this alone.<br />
<br />
make lib<br />
cp lapack<version>.a $CERN_ROOT/lib/liblapack3.a<br />
cp blas<version>.a $CERN_ROOT/lib/libblas.a<br />
<br />
Note that the lapack library has a 3 on the end and blas doesn't. <br />
<br />
<br />
<br />
==== OK, you should be all set to go! ====</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=CERNLIB_Installation&diff=3087CERNLIB Installation2007-03-06T16:26:01Z<p>Bellis: </p>
<hr />
<div>I have come across a few issues in the CERNLIB installation which broke HDGeant. Some of them may be common knowledge, <br />
but I thought it useful to list them here. <br />
<br />
Here's how I installed from source.<br />
<br />
#Go to http://cernlib.web.cern.ch/cernlib/version.html<br />
<br />
Decide which version you would like. For this example I chose 2006.<br />
<br />
Click on the "compressed tar files" which takes you to http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/ <br />
<br />
Grab the following.<br />
<br />
*2006_src.tar.gz<br />
*include.tar.gz<br />
*mathlib32_src.tar.gz <br />
<br />
#For the purposes of this example I am placing CERNLIB under /usr/local/cern and it is here that I place these three tarballs.<br />
<br />
cd /usr/local/cern<br />
tar -zxvf 2006_src.tar.gz<br />
tar -zxvf include.tar.gz<br />
<br />
This should create the following directory structure<br />
<br />
2006<br />
2006/include<br />
2006/src <br />
<br />
#To install the libraries I modify the script provided by cern found [http://cernlib.web.cern.ch/cernlib/install/start_cern here], changing the appropriate environment variables.<br />
<br />
Because I don't have "gmake" on my machine, I also replace the gmake commands in the script with "make MAKE=make".<br />
<br />
##I did have one make issue when installing on these systems. I found I had to comment out one line in one of the files<br />
as it was creating some conflict with Motif libraries. <br />
<br />
2006/src/packlib/kuip/code_motif/iconwidget.c<br />
<br />
In this file I had to comment out the following line (on my installation it was line 38)<br />
<br />
#ifndef __APPLE__<br />
//void _XmDrawShadow ();<br />
#endif<br />
<br />
This is probably specific to certain installations so be aware you may or may not have to do this. <br />
<br />
#I found that this script does not install one key file so I do this by hand<br />
<br />
mkdir 2006/share<br />
mkdir 2006/share/lib<br />
cp 2006/src/geant321/data/xsneut95.dat 2006/share/lib/.<br />
<br />
#You also need to build the lapack and blas libraries. The source can be obtained from http://cernlib.web.cern.ch/cernlib/install/lapack3.html <br />
<br />
I found it easier to build them in some other directory and then copy them by hand to the appropriate<br />
location.<br />
<br />
cd tmp<br />
tar -zxvf lapack.tgz<br />
cd lapack-<version><br />
cp make.inc.example make.inc<br />
<br />
Edit make.inc to your heart's content. I think I left this alone.<br />
<br />
make lib<br />
cp lapack<version>.a $CERN_ROOT/lib/liblapack3.a<br />
cp blas<version>.a $CERN_ROOT/lib/libblas.a<br />
<br />
Note that the lapack library has a 3 on the end and blas doesn't. <br />
<br />
#OK, you should be all set to go!</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Getting_started_with_GlueX_Software&diff=3086Getting started with GlueX Software2007-03-06T15:58:02Z<p>Bellis: /* Getting and compiling the source code */</p>
<hr />
<div>This is derived from the original web document "Getting started with HDGeant"<br />
<br />
D. Lawrence 11/11/04<br />
<br />
D. Lawrence 4/6/06 Updated<br />
<br />
D. Lawrence 12/5/06 Converted to Wiki<br />
<br />
D. Lawrence 1/18/07 Finished Converting to Wiki<br />
<br />
=Overview=<br />
This document gives the bare minimum to get you up and going with running the GlueX <br />
[http://wwwasd.web.cern.ch/wwwasd/geant/ GEANT]-based simulation program<br />
''hdgeant'' and looking at the output. More details are given in other HOWTOs (to be written).<br />
<br />
<br />
The basic steps to running and analyzing a GlueX simulation are:<br />
<br />
# Getting and compiling the source code<br />
# Configuring and running the ''hdgeant'' program<br />
# Creating a [http://www.jlab.org/JANA JANA]-based program for reconstruction and histogramming<br />
# Running said JANA program and analyzing the results<br />
<br />
=Getting and compiling the source code=<br />
----------------------------------------<br />
The Hall-D specific source code is currently being kept in a<br />
Subversion repository<br />
on the JLab CUE. You must have a CUE account and you must<br />
belong to the "halld" unix group. (Contact the JLab computer<br />
center for help with both of these.) <br />
<br />
The source relies on<br />
several software packages that were not written for Hall-D<br />
and are ''not'' kept in its repository. These must be downloaded<br />
and installed prior to compiling the Hall-D source. For convenience,<br />
some versions known to have compiled/linked are here. <br />
<br />
'''JANA'''<br />
* [http://www.jlab.org/JANA/downloads.php JANA downloads]<br />
Make sure you set your JANA_HOME environment variable.<br />
<br />
'''CERNLIB'''<br />
* [http://cernlib.web.cern.ch/cernlib CERNLIB homepage]<br />
Make sure you set your CERN and CERN_LEVEL environment variables and that the<br />
''cernlib'' script is in your path as it will be used by the makefiles.<br />
<br />
Check [[CERNLIB_Installation | here]] for possible issues with CERNLIB installation.<br />
<br />
'''ROOT'''<br />
* [http://root.cern.ch ROOT homepage]<br />
Make sure your ROOTSYS environment variable is set and that the<br />
''root-config'' script is in your path. Also, make sure the ROOT<br />
shared libraries directory (usually $ROOTSYS/lib) is in your<br />
LD_LIBRARY_PATH (DYLD_LIBRARY_PATH on OS X) environment<br />
variable.<br />
<br />
<br />
'''Note''': You only need the XERCES packages if you're going to be modifying the geometry or the data model.<br />
<br />
'''XERCES'''<br />
* [http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.tar.gz xerces-c-src_2_7_0.tar.gz]<br />
* [http://www.jlab.org/Hall-D/software/xerces-c-src_2_5_0.tar.gz xerces-c-src_2_5_0.tar.gz]<br />
(note that binaries exist on the JLab CUE for certain platforms:)<br />
<br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.Linux-athlon Linux-athlon]</sub><br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.Linux-i686 Linux-i686]</sub><br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.Linux-x86_64 Linux-x86_64]</sub><br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.SunOS-sparc SunOS-sparc]</sub><br />
<br />
<br />
'''XERCES Perl module'''<br />
* [http://www.jlab.org/Hall-D/software/XML-Xerces-2.7.0-0.tar.gz XML-Xerces-2.7.0-0.tar.gz]<br />
* [http://www.jlab.org/Hall-D/software/XML-Xerces-2.5.0-0.tar.gz XML-Xerces-2.5.0-0.tar.gz]<br />
<br />
<br />
Download and install the needed packages from the above locations.<br />
<br />
<p><hr width="50%"></p><br />
<br />
<br />
We'll assume you are working on a machine outside of JLab.<br />
(All of these instructions will work onsite as well.)<br />
<br />
First, you will need to create a directory where your files will<br />
be kept. (I use a directory called ''HallD'' in my home directory.)<br />
Set your HALLD_HOME environment variable to point to this directory.<br />
<br />
You should also set your OSNAME environment variable to indicate the<br />
OS and architecture on which you are working.<br />
<br />
As a summary, here are the environment variables you should have set. Strictly speaking,<br />
not all of these are required, but this is a set that is known to be sufficient<br />
<br />
setenv OS `/bin/uname -s`<br />
setenv ARCH `/bin/uname -p`<br />
setenv OSNAME ${OS}-${ARCH}<br />
setenv JANA_HOME /group/12gev_phys/builds/LATEST<br />
setenv HALLD_HOME ${HOME}/HallD<br />
setenv JANA_PLUGIN_PATH ${HALLD_HOME}/lib/${OSNAME}<br />
setenv JAVAROOT /apps<br />
setenv HALLD_EXTERNALPACKAGES /group/halld/Software/ExternalPackages<br />
setenv XERCESCROOT ${HALLD_EXTERNALPACKAGES}/xerces-c-src_2_7_0.${OSNAME}<br />
setenv XERCES_INCLUDE ${HALLD_EXTERNALPACKAGES}/include<br />
setenv XERCES_LIB ${HALLD_EXTERNALPACKAGES}/lib/${OSNAME}<br />
setenv PERL5LIB ${HALLD_EXTERNALPACKAGES}/perl_mods/lib/site_perl/5.8.2/i686-linux<br />
<br />
in addition, your PATH and (DY)LD_LIBRARY_PATH environment variables should be set to<br />
include some of these directories:<br />
<br />
setenv PATH ${PATH}:${JANA_HOME}/bin/${OSNAME}:${HALLD_HOME}/bin:${HALLD_HOME}/bin/${OSNAME}:${HALLD_EXTERNALPACKAGES}/bin:${HALLD_EXTERNALPACKAGES}/bin/${OSNAME}:${ROOTSYS}/bin:${CERN}/${CERN_LEVEL}/bin<br />
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${ROOTSYS}/lib:${XERCES_LIB}<br />
<br />
NOTES:<br />
<br />
- You MUST set your JAVAROOT environment variable or else the<br />
schema-hddm script will fail with a very misleading error message. This<br />
should point to the directory containing bin/java. For example, if<br />
your java executable is /usr/bin/java (i.e. this is what "which java"<br />
returns) then you should set JAVAROOT to /usr.<br />
<br />
- The HALLD_EXTERNALPACKAGES environment variable is not required. It is<br />
just convienient for defining the other environment variables since things<br />
like xerces must be install in a non-standard place on the CUE.<br />
<br />
<br />
==CHECKING OUT THE CODE==<br />
1. Check that subversion is installed on your system. Many Linux<br />
distributions now install subversion with the development tools<br />
so it may already be there (check for an executable named "svn").<br />
<br />
2. Check out the needed files with:<br />
<br />
svn co https://halldsvn.jlab.org/repos/trunk/src<br />
<br />
If your svn binary doesn't support the https access method, you can<br />
use the following. Note however that THIS IS NOT RECCOMMENED since the automated<br />
e-mail notification system does not work properly with this method.<br />
<br />
svn co svn+ssh://svn.jlab.org/group/halld/Repositories/svnroot/trunk/src<br />
<br />
==COMPILING THE CODE==<br />
If you do not need to modify the geometry, then you can skip item 1.) below and go straight to item 2.).<br />
<br />
===Modifying the Geometry===<br />
1. cd into "src/programs/Simulation/hdds". Here you will find a number<br />
of XML files that define the geometry of the GlueX detector in the simulation.<br />
Modify the appropriate XML file(s) and then do a "make hddsGeant3.F". This will build<br />
the hdds-geant executable and run it on the main_HDDS.xml to<br />
produce hddsGeant3.F. The hddsGeant3.F file is FORTRAN source<br />
which contains all of the geometry definitions for the entire<br />
GlueX detector. After generating the hddsGeant3.F file, you will<br />
need to copy it into ../HDGeant. <br />
<br />
Note that if you make changes to the geometry that you feel should be propagated<br />
back into the repository, you should contact Richard Jones (richard.t.jones@uconn.edu)<br />
who is the acting gatekeeper for the geometry and simulation just to make sure he's<br />
aware of the changes and that they are implemented in a consistent way.<br />
<br />
===Building HDGeant===<br />
2. Now cd into the src/programs/Simulation/HDGeant directory and just<br />
type "make". Don't worry if it seems to take a long time to<br />
compile hddsGeant3.F. This is a HUGE file so just be patient.<br />
When it is all done, you should end up with a few executables<br />
including hdgeant. They will, by default, be installed in the<br />
$HALLD_HOME/bin/$OSNAME directory.<br />
(for example ~/HallD/bin/Linux-i686).<br />
<br />
=RUNNING HDGEANT=<br />
I've really only used the batch version of HDGeant called ''hdgeant''<br />
so that is what these instructions focus on.<br />
<br />
I'll just give a couple of hints here:<br />
<br />
1. When running hdgeant, make sure the control.in and solenoid.map<br />
files exist in the current working directory. These can be found in the<br />
src/programs/Simulation/HDGeant directory.<br />
<br />
The control.in file<br />
should be edited to suit your specific simulation. Most importantly,<br />
you need to define the source of events. There are 3 main options<br />
which are documented in the example control.in file. They are:<br />
* coherent bremstrahlung photon generator(built-in)<br />
* single particle gun(built-in)<br />
* read events from an external file in HDDM (Hall-D Data Model) format. <br />
<br />
An HDDM file can be generated using the genr8 program (src/programs/Simulation/genr8)<br />
to first generate the events and put them in a file in ASCII format. The program<br />
genr8_2_hddm (src/programs/Simulation/genr8_2_hddm) can then be used to<br />
convert this into HDDM format.<br />
<br />
<br />
2. The simulation produces several output files. The one with the <br />
detector responses that you want is called ''hdgeant.hddm''.<br />
<br />
=Reading in Simulated Data=<br />
<br />
There are a few ways to look at the output data from hdgeant. The first<br />
is to build the hddm package (src/packages/Analysis/hddm) Note that<br />
yoou will need XERCES installed. There is a tool called ''hddm-xml''<br />
provided by this package that will<br />
display the contents of an HDDM file in XML form. This is useful to at least see that<br />
you are getting hits.<br />
<br />
The second and preferred method is via DANA. DANA is the Hall-D implementation<br />
of the JANA reconstruction framework. The DANA framework can read in an<br />
HDDM file using the libHDDM.a library (src/programs/libraries/HDDM) and create<br />
C++ objects from it that can then be used to access the event data.<br />
<br />
==hd_dump==<br />
A simple utility program is available called "hd_dump" which is based on the DANA<br />
framework. The source code for this program already exists in the<br />
src directory tree. To build it:<br />
#cd into src/library and do a "make"<br />
#cd into src/programs/Analysis/hd_dump and do "make"<br />
<br />
Running hd_dump with no arguments will print a usage message. Essentially through,<br />
you just give it the name of the hdgeant.hddm file when you run it. It will<br />
list the objects available event by event (pausing for user input after each event).<br />
If you give it any "'''-Dobjectname''" options on the command line, it will attempt to <br />
print the contents of all objects of type ''objectname'' as well.<br />
<br />
==Making ROOT histograms in DANA==<br />
<br />
For Hall-D we use the JANA framework for reconstruction of event-based data.<br />
The Hall-D implementation of JANA is called DANA just to distinguish between<br />
the two. Documentation on JANA can be found on the<br />
[http://www.jlab.org/JANA JANA website].<br />
<br />
The main idea behind JANA is that it passes around C++ objects that contain the<br />
data of interest. In order to access the data you want, you must first figure out what<br />
object(s) contain it. You can browse or search for the objects you need in the<br />
[http://www.jlab.org/Hall-D/software/HDSoftware_Documentation/ doxygen generated on-line documentation].<br />
<br />
Several programs exist that can be used to make ROOT histograms and Trees using<br />
HDDM files as inputs. There is no such thing, however, as a generic HDDM to ROOT converter<br />
program. The data model is large enough that most jobs will only ever need a<br />
fraction of the information so writing out everything would use up resources<br />
uneccessarily. The programs that are available can be found in the src/program/analysis<br />
directory.<br />
<br />
===Using plugins===<br />
<br />
All DANA executables can have plugins attached at run time to extend the functionality<br />
of the program. For those who are unfamiliar with the term, a plugin is just a dynamically<br />
linked object that contains routines that can be accessed by a running executable.<br />
<br />
Several plugins have been written that can add histograms/trees to a ROOT file.<br />
For example, the "mcthrown_hists'' plugin will create histograms and fill them with<br />
the "thrown" values from Monte Carlo data. There is also a ''cdc_hists'' plugin that will<br />
produce histograms related specifically to the CDC. In general, these plugins will<br />
create a separate directory in the ROOT file to place their histograms/trees. This allows<br />
mulitple plugins to be attached to the same executable without risk of conflict between <br />
histogram names. Source code for the plugins resides in the src/programs/Analysis/plugins<br />
directory.<br />
<br />
Although a plugin can be attached to any DANA program, a generic program<br />
''hd_root'' exists that serves as a shell specifically written for this task. For example, to<br />
create a root file with the thrown values histograms and the histograms used to<br />
study the acceptance of the GlueX detector, type this:<br />
<br />
>hd_root --plugin=mcthrown_hists --plugin=acceptance_hists hdgeant.hddm<br />
<br />
This will create a ROOT file called ''hd_tree.root''. Inside the file would be two<br />
directories called "THROWN" and "ACCEPTANCE" containing the histograms produced<br />
by the respective plugins.<br />
<br />
You can create your own plugin using one of the existing plugins as a template.<br />
<br />
===Building a custom executable===<br />
<br />
The last option is to just build your own custom<br />
executable that can be used to define and fill your histograms.<br />
To do this, take a look at the example program:<br />
<br />
src/programs/Analysis/hd_ana<br />
<br />
Try building and using it as-is first to make sure it all works.<br />
It will produce a couple of sample histograms. To customize<br />
''hd_ana'', the only files you'll<br />
need to modify are the MyProcessor.cc and MyProcessor.h (All of the<br />
work is done in MyProcessor.cc).</div>Bellishttps://halldweb.jlab.org/wiki/index.php?title=Getting_started_with_GlueX_Software&diff=3085Getting started with GlueX Software2007-03-05T16:51:00Z<p>Bellis: /* Getting and compiling the source code */</p>
<hr />
<div>This is derived from the original web document "Getting started with HDGeant"<br />
<br />
D. Lawrence 11/11/04<br />
<br />
D. Lawrence 4/6/06 Updated<br />
<br />
D. Lawrence 12/5/06 Converted to Wiki<br />
<br />
D. Lawrence 1/18/07 Finished Converting to Wiki<br />
<br />
=Overview=<br />
This document gives the bare minimum to get you up and going with running the GlueX <br />
[http://wwwasd.web.cern.ch/wwwasd/geant/ GEANT]-based simulation program<br />
''hdgeant'' and looking at the output. More details are given in other HOWTOs (to be written).<br />
<br />
<br />
The basic steps to running and analyzing a GlueX simulation are:<br />
<br />
# Getting and compiling the source code<br />
# Configuring and running the ''hdgeant'' program<br />
# Creating a [http://www.jlab.org/JANA JANA]-based program for reconstruction and histogramming<br />
# Running said JANA program and analyzing the results<br />
<br />
=Getting and compiling the source code=<br />
----------------------------------------<br />
The Hall-D specific source code is currently being kept in a<br />
Subversion repository<br />
on the JLab CUE. You must have a CUE account and you must<br />
belong to the "halld" unix group. (Contact the JLab computer<br />
center for help with both of these.) <br />
<br />
The source relies on<br />
several software packages that were not written for Hall-D<br />
and are ''not'' kept in its repository. These must be downloaded<br />
and installed prior to compiling the Hall-D source. For convenience,<br />
some versions known to have compiled/linked are here. <br />
<br />
'''JANA'''<br />
* [http://www.jlab.org/JANA/downloads.php JANA downloads]<br />
Make sure you set your JANA_HOME environment variable.<br />
<br />
'''CERNLIB'''<br />
* [http://cernlib.web.cern.ch/cernlib CERNLIB homepage]<br />
Make sure you set your CERN and CERN_LEVEL environment variables and that the<br />
''cernlib'' script is in your path as it will be used by the makefiles.<br />
<br />
'''ROOT'''<br />
* [http://root.cern.ch ROOT homepage]<br />
Make sure your ROOTSYS environment variable is set and that the<br />
''root-config'' script is in your path. Also, make sure the ROOT<br />
shared libraries directory (usually $ROOTSYS/lib) is in your<br />
LD_LIBRARY_PATH (DYLD_LIBRARY_PATH on OS X) environment<br />
variable.<br />
<br />
<br />
'''Note''': You only need the XERCES packages if you're going to be modifying the geometry or the data model.<br />
<br />
'''XERCES'''<br />
* [http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.tar.gz xerces-c-src_2_7_0.tar.gz]<br />
* [http://www.jlab.org/Hall-D/software/xerces-c-src_2_5_0.tar.gz xerces-c-src_2_5_0.tar.gz]<br />
(note that binaries exist on the JLab CUE for certain platforms:)<br />
<br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.Linux-athlon Linux-athlon]</sub><br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.Linux-i686 Linux-i686]</sub><br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.Linux-x86_64 Linux-x86_64]</sub><br />
* <sub>[http://www.jlab.org/Hall-D/software/xerces-c-src_2_7_0.SunOS-sparc SunOS-sparc]</sub><br />
<br />
<br />
'''XERCES Perl module'''<br />
* [http://www.jlab.org/Hall-D/software/XML-Xerces-2.7.0-0.tar.gz XML-Xerces-2.7.0-0.tar.gz]<br />
* [http://www.jlab.org/Hall-D/software/XML-Xerces-2.5.0-0.tar.gz XML-Xerces-2.5.0-0.tar.gz]<br />
<br />
<br />
Download and install the needed packages from the above locations.<br />
<br />
<p><hr width="50%"></p><br />
<br />
<br />
We'll assume you are working on a machine outside of JLab.<br />
(All of these instructions will work onsite as well.)<br />
<br />
First, you will need to create a directory where your files will<br />
be kept. (I use a directory called ''HallD'' in my home directory.)<br />
Set your HALLD_HOME environment variable to point to this directory.<br />
<br />
You should also set your OSNAME environment variable to indicate the<br />
OS and architecture on which you are working.<br />
<br />
As a summary, here are the environment variables you should have set. Strictly speaking,<br />
not all of these are required, but this is a set that is known to be sufficient<br />
<br />
setenv OS `/bin/uname -s`<br />
setenv ARCH `/bin/uname -p`<br />
setenv OSNAME ${OS}-${ARCH}<br />
setenv JANA_HOME /group/12gev_phys/builds/LATEST<br />
setenv HALLD_HOME ${HOME}/HallD<br />
setenv JANA_PLUGIN_PATH ${HALLD_HOME}/lib/${OSNAME}<br />
setenv JAVAROOT /apps<br />
setenv HALLD_EXTERNALPACKAGES /group/halld/Software/ExternalPackages<br />
setenv XERCESCROOT ${HALLD_EXTERNALPACKAGES}/xerces-c-src_2_7_0.${OSNAME}<br />
setenv XERCES_INCLUDE ${HALLD_EXTERNALPACKAGES}/include<br />
setenv XERCES_LIB ${HALLD_EXTERNALPACKAGES}/lib/${OSNAME}<br />
setenv PERL5LIB ${HALLD_EXTERNALPACKAGES}/perl_mods/lib/site_perl/5.8.2/i686-linux<br />
<br />
in addition, your PATH and (DY)LD_LIBRARY_PATH environment variables should be set to<br />
include some of these directories:<br />
<br />
setenv PATH ${PATH}:${JANA_HOME}/bin/${OSNAME}:${HALLD_HOME}/bin:${HALLD_HOME}/bin/${OSNAME}:${HALLD_EXTERNALPACKAGES}/bin:${HALLD_EXTERNALPACKAGES}/bin/${OSNAME}:${ROOTSYS}/bin:${CERN}/${CERN_LEVEL}/bin<br />
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${ROOTSYS}/lib:${XERCES_LIB}<br />
<br />
NOTES:<br />
<br />
- You MUST set your JAVAROOT environment variable or else the<br />
schema-hddm script will fail with a very misleading error message. This<br />
should point to the directory containing bin/java. For example, if<br />
your java executable is /usr/bin/java (i.e. this is what "which java"<br />
returns) then you should set JAVAROOT to /usr.<br />
<br />
- The HALLD_EXTERNALPACKAGES environment variable is not required. It is<br />
just convienient for defining the other environment variables since things<br />
like xerces must be install in a non-standard place on the CUE.<br />
<br />
<br />
==CHECKING OUT THE CODE==<br />
1. Check that subversion is installed on your system. Many Linux<br />
distributions now install subversion with the development tools<br />
so it may already be there (check for an executable named "svn").<br />
<br />
2. Check out the needed files with:<br />
<br />
svn co https://halldsvn.jlab.org/repos/trunk/src<br />
<br />
If your svn binary doesn't support the https access method, you can<br />
use the following. Note however that THIS IS NOT RECCOMMENED since the automated<br />
e-mail notification system does not work properly with this method.<br />
<br />
svn co svn+ssh://svn.jlab.org/group/halld/Repositories/svnroot/trunk/src<br />
<br />
==COMPILING THE CODE==<br />
If you do not need to modify the geometry, then you can skip item 1.) below and go straight to item 2.).<br />
<br />
===Modifying the Geometry===<br />
1. cd into "src/programs/Simulation/hdds". Here you will find a number<br />
of XML files that define the geometry of the GlueX detector in the simulation.<br />
Modify the appropriate XML file(s) and then do a "make hddsGeant3.F". This will build<br />
the hdds-geant executable and run it on the main_HDDS.xml to<br />
produce hddsGeant3.F. The hddsGeant3.F file is FORTRAN source<br />
which contains all of the geometry definitions for the entire<br />
GlueX detector. After generating the hddsGeant3.F file, you will<br />
need to copy it into ../HDGeant. <br />
<br />
Note that if you make changes to the geometry that you feel should be propagated<br />
back into the repository, you should contact Richard Jones (richard.t.jones@uconn.edu)<br />
who is the acting gatekeeper for the geometry and simulation just to make sure he's<br />
aware of the changes and that they are implemented in a consistent way.<br />
<br />
===Building HDGeant===<br />
2. Now cd into the src/programs/Simulation/HDGeant directory and just<br />
type "make". Don't worry if it seems to take a long time to<br />
compile hddsGeant3.F. This is a HUGE file so just be patient.<br />
When it is all done, you should end up with a few executables<br />
including hdgeant. They will, by default, be installed in the<br />
$HALLD_HOME/bin/$OSNAME directory.<br />
(for example ~/HallD/bin/Linux-i686).<br />
<br />
=RUNNING HDGEANT=<br />
I've really only used the batch version of HDGeant called ''hdgeant''<br />
so that is what these instructions focus on.<br />
<br />
I'll just give a couple of hints here:<br />
<br />
1. When running hdgeant, make sure the control.in and solenoid.map<br />
files exist in the current working directory. These can be found in the<br />
src/programs/Simulation/HDGeant directory.<br />
<br />
The control.in file<br />
should be edited to suit your specific simulation. Most importantly,<br />
you need to define the source of events. There are 3 main options<br />
which are documented in the example control.in file. They are:<br />
* coherent bremstrahlung photon generator(built-in)<br />
* single particle gun(built-in)<br />
* read events from an external file in HDDM (Hall-D Data Model) format. <br />
<br />
An HDDM file can be generated using the genr8 program (src/programs/Simulation/genr8)<br />
to first generate the events and put them in a file in ASCII format. The program<br />
genr8_2_hddm (src/programs/Simulation/genr8_2_hddm) can then be used to<br />
convert this into HDDM format.<br />
<br />
<br />
2. The simulation produces several output files. The one with the <br />
detector responses that you want is called ''hdgeant.hddm''.<br />
<br />
=Reading in Simulated Data=<br />
<br />
There are a few ways to look at the output data from hdgeant. The first<br />
is to build the hddm package (src/packages/Analysis/hddm) Note that<br />
yoou will need XERCES installed. There is a tool called ''hddm-xml''<br />
provided by this package that will<br />
display the contents of an HDDM file in XML form. This is useful to at least see that<br />
you are getting hits.<br />
<br />
The second and preferred method is via DANA. DANA is the Hall-D implementation<br />
of the JANA reconstruction framework. The DANA framework can read in an<br />
HDDM file using the libHDDM.a library (src/programs/libraries/HDDM) and create<br />
C++ objects from it that can then be used to access the event data.<br />
<br />
==hd_dump==<br />
A simple utility program is available called "hd_dump" which is based on the DANA<br />
framework. The source code for this program already exists in the<br />
src directory tree. To build it:<br />
#cd into src/library and do a "make"<br />
#cd into src/programs/Analysis/hd_dump and do "make"<br />
<br />
Running hd_dump with no arguments will print a usage message. Essentially through,<br />
you just give it the name of the hdgeant.hddm file when you run it. It will<br />
list the objects available event by event (pausing for user input after each event).<br />
If you give it any "'''-Dobjectname''" options on the command line, it will attempt to <br />
print the contents of all objects of type ''objectname'' as well.<br />
<br />
==Making ROOT histograms in DANA==<br />
<br />
For Hall-D we use the JANA framework for reconstruction of event-based data.<br />
The Hall-D implementation of JANA is called DANA just to distinguish between<br />
the two. Documentation on JANA can be found on the<br />
[http://www.jlab.org/JANA JANA website].<br />
<br />
The main idea behind JANA is that it passes around C++ objects that contain the<br />
data of interest. In order to access the data you want, you must first figure out what<br />
object(s) contain it. You can browse or search for the objects you need in the<br />
[http://www.jlab.org/Hall-D/software/HDSoftware_Documentation/ doxygen generated on-line documentation].<br />
<br />
Several programs exist that can be used to make ROOT histograms and Trees using<br />
HDDM files as inputs. There is no such thing, however, as a generic HDDM to ROOT converter<br />
program. The data model is large enough that most jobs will only ever need a<br />
fraction of the information so writing out everything would use up resources<br />
uneccessarily. The programs that are available can be found in the src/program/analysis<br />
directory.<br />
<br />
===Using plugins===<br />
<br />
All DANA executables can have plugins attached at run time to extend the functionality<br />
of the program. For those who are unfamiliar with the term, a plugin is just a dynamically<br />
linked object that contains routines that can be accessed by a running executable.<br />
<br />
Several plugins have been written that can add histograms/trees to a ROOT file.<br />
For example, the "mcthrown_hists'' plugin will create histograms and fill them with<br />
the "thrown" values from Monte Carlo data. There is also a ''cdc_hists'' plugin that will<br />
produce histograms related specifically to the CDC. In general, these plugins will<br />
create a separate directory in the ROOT file to place their histograms/trees. This allows<br />
mulitple plugins to be attached to the same executable without risk of conflict between <br />
histogram names. Source code for the plugins resides in the src/programs/Analysis/plugins<br />
directory.<br />
<br />
Although a plugin can be attached to any DANA program, a generic program<br />
''hd_root'' exists that serves as a shell specifically written for this task. For example, to<br />
create a root file with the thrown values histograms and the histograms used to<br />
study the acceptance of the GlueX detector, type this:<br />
<br />
>hd_root --plugin=mcthrown_hists --plugin=acceptance_hists hdgeant.hddm<br />
<br />
This will create a ROOT file called ''hd_tree.root''. Inside the file would be two<br />
directories called "THROWN" and "ACCEPTANCE" containing the histograms produced<br />
by the respective plugins.<br />
<br />
You can create your own plugin using one of the existing plugins as a template.<br />
<br />
===Building a custom executable===<br />
<br />
The last option is to just build your own custom<br />
executable that can be used to define and fill your histograms.<br />
To do this, take a look at the example program:<br />
<br />
src/programs/Analysis/hd_ana<br />
<br />
Try building and using it as-is first to make sure it all works.<br />
It will produce a couple of sample histograms. To customize<br />
''hd_ana'', the only files you'll<br />
need to modify are the MyProcessor.cc and MyProcessor.h (All of the<br />
work is done in MyProcessor.cc).</div>Bellis