Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/twhite on MAIN
MuonAnalysisReadMe.rtf+173added 1.1
Read Me file for the Muon Analysis code

lcsim-contrib/src/main/java/org/lcsim/contrib/twhite
MuonAnalysisReadMe.rtf added at 1.1
diff -N MuonAnalysisReadMe.rtf
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MuonAnalysisReadMe.rtf	12 Aug 2009 10:46:50 -0000	1.1
@@ -0,0 +1,173 @@
+{\rtf1\ansi\ansicpg1252\deff0\deflang2057\deflangfe2057{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
+{\colortbl ;\red49\green132\blue155;\red79\green129\blue189;\red255\green255\blue255;\red0\green255\blue255;\red75\green172\blue198;\red198\green217\blue241;\red210\green234\blue241;}
+{\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\sa200\sl276\slmult1\ul\b\f0\fs22 Muon Analysis Read Me\f1\par
+\ulnone\b0\f0 The aim of this driver is to analyse the success of the PFA reconstruction algorithm \endash  and is focused in particular around the reconstruction of muons. \par
+The driver is best run using the JAS3 interface and to allow the driver access to the LCIO input files. \f1\par
+\f0 Aida histograms are used to output the results \endash  there are essentially 5 types of output from the driver:\f1\par
+\pard\fi-360\li720\sa200\sl276\slmult1\b\f0 1.\tab MC Data \endash  contains data on the raw MC Particles\b0\f1\par
+\pard\li720\sa200\sl276\slmult1\f0 The first set of histograms produced will be in a folder called \ldblquote MC Data\rdblquote . These will have the format below and contain data on the energy and angle of each of the particle types and on the cumulative data from all particles. \par
+MC Data/particleID/energy\line MC Data/particleID/Cos Angle\f1\line\f0 MC Data/particleID/Numbers\f1\line\f0 MC Data/Total Energy\par
+\i The particle ID used in this driver is converted from the Monte Carlo numbering scheme. This is to ensure that reconstructed a neutron as a K-Long for example is still considered a successful reconstruction. This method compensates for what can and cannot be realistically distinguished. \f1\par
+\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx3395\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx4205\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx5685\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx9147\pard\intbl\qj\cf1\b\i0\f0 Particle \cell PDGID\cell Condensed ID\cell Particle can be considered to be a:\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat6\cellx3395\clcbpat6\cellx4205\clcbpat6\cellx5685\clvertalc\clcbpat6\cellx9147\pard\intbl Muon\cell\b0 13\cell 13\cell\pard\intbl\qc Muon / AntiMuon\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\cellx3395\clcbpat3\cellx4205\clcbpat3\cellx5685\clvertalc\clcbpat3\cellx9147\pard\intbl\b Electron\cell\b0 11\cell 11\cell\pard\intbl\qc Electron / Positron\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat6\cellx3395\clcbpat6\cellx4205\clcbpat6\cellx5685\clvertalc\clcbpat6\cellx9147\pard\intbl\b Photon\cell\b0 22\cell 22\cell\pard\intbl\qc Photon\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\cellx3395\clcbpat3\cellx4205\clcbpat3\cellx5685\clvmgf\clvertalc\clcbpat3\cellx9147\pard\intbl\b Electron Neutrino\cell\b0 12\cell 9900012\cell\pard\intbl\qc Neutrino\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\cellx3395\clcbpat3\cellx4205\clcbpat3\cellx5685\clvmrg\clvertalc\clcbpat3\cellx9147\pard\intbl\b Muon Neutrino\cell\b0 14\cell 9900012\cell\pard\intbl\qc\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\cellx3395\clcbpat3\cellx4205\clcbpat3\cellx5685\clvmrg\clvertalc\clcbpat3\cellx9147\pard\intbl\b Tau Neutrino\cell\b0 16\cell 9900012\cell\pard\intbl\qc\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat6\cellx3395\clcbpat6\cellx4205\clcbpat6\cellx5685\clvmgf\clvertalc\clcbpat6\cellx9147\pard\intbl\b Neutron\cell\b0 2112\cell 9900130\cell\pard\intbl\qc Neutral Hadron\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat6\cellx3395\clcbpat6\cellx4205\clcbpat6\cellx5685\clvmrg\clvertalc\clcbpat6\cellx9147\pard\intbl\b K-Long\cell\b0 130\cell 9900130\cell\pard\intbl\qc\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\cellx3395\clcbpat3\cellx4205\clcbpat3\cellx5685\clvmgf\clvertalc\clcbpat3\cellx9147\pard\intbl\b Proton\cell\b0 2212\cell 9900211\cell\pard\intbl\qc Charged Hadron\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\cellx3395\clcbpat3\cellx4205\clcbpat3\cellx5685\clvmrg\clcbpat3\cellx9147\pard\intbl\b K+\cell\b0 321\cell 9900211\cell\cell\row\trowd\trgaph108\trleft1555\trqc\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat3\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx3395\clcbpat3\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx4205\clcbpat3\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx5685\clvmrg\clcbpat3\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx9147\pard\intbl\b Pi+\cell\b0 211\cell 9900211\cell\cell\row\pard\sa200\sl276\slmult1\qc\cf0 * \fs20 A negative PDGID indicates the antiparticle and in all cases will be converted to the absolute value\par
+\pard\fi-360\li720\sa200\sl276\slmult1\b\fs22 2.\tab RC Data \endash  contains data on the raw RC Particles\b0\f1\par
+\pard\li720\sa200\sl276\slmult1\f0 Identical outputs to the MC Data folder, except for all reconstructed particles.\par
+RC Data/particleID/energy\line RC Data/particleID/Cos Angle\line RC Data/particleID/Numbers\f1\line\f0 RC Data/Total Energy\f1\par
+\pard\fi-360\li720\sa200\sl276\slmult1\b\f0 3.\tab Events (All) \endash  contains data on the numbers of particles involved in the event and reconstruction\f1\par
+\pard\li720\sa200\sl276\slmult1\b0\f0 The next set of histograms will be output in the folder \ldblquote Events (All)\rdblquote . These histograms will contain the main output for each event.  The initial histograms in the list below are to be used to look at the average number of missing or created particles in each event. There are histograms for all events, and split by whether the event was a beam pipe event (an event in which final state MC particles travelled down the beam pipe. \line\line Events (All)/particleID/Number Part RC\par
+Events (All)/particleID/Number Part MC\par
+Events (All)/particleID/Missing Part\par
+Events (All)/particleID/beampipe = 0/Number Part RC\par
+Events (All)/particleID/beampipe = 0/Number Part MC\par
+Events (All)/particleID/beampipe = 0/Missing Part\par
+Events (All)/particleID/beampipe = 1/Number Part RC\par
+Events (All)/particleID/beampipe = 1/Number Part MC\par
+Events (All)/particleID/beampipe = 1/Missing Part\par
+The next histograms are created by looking at which particles are in the MC collection but not present in the RC particles collection. These are labelled missing and data on these is output to histograms. \par
+Events (All)/particleID/Missing/Angle\par
+Events (All)/particleID/Missing/Energy\par
+Events (All)/particleID/Missing/Angle Not Beampipe\par
+Events (All)/particleID/Missing/Energy Not Beampipe\par
+The next histograms are similarly created by looking at which particles are in the RC collection but not present in the MC particles collection. These are labelled created and data on these is output to histograms. \par
+Events (All)/particleID/Created/Angle\par
+Events (All)/particleID/Created/Energy\par
+Events (All)/particleID/Created/Angle to muons\par
+Events (All)/particleID/Created/Cal Hits vs energy\par
+Events (All)/particleID/Created/Angle Not Beampipe\par
+Events (All)/particleID/Created/Energy Not Beampipe\par
+Events (All)/particleID/Created/Cal Hits vs energy Not Beampipe\f1\par
+\pard\fi-360\li720\sa200\sl276\slmult1\b\f0 4.\tab Events (excess particles) / Events (too few muons) / Events with X muons \endash  Data on specific events\f1\par
+\pard\li720\sa200\sl276\slmult1\b0\f0 Other histograms are created in folders contain exactly the same information as the \ldblquote Events (All)\rdblquote  folder however this information is output only on certain events that meet a certain criteria. This is chosen in the process method and more or less can be added to increase the number of cuts to the data.\par
+\pard\fi-360\li720\sa200\sl276\slmult1\b 5.\tab Missing particle correlations \endash  Data on multiple particle types\f1\par
+\pard\li720\sa200\sl276\slmult1\b0\f0 This folder contains 2D histograms that plot the number of missing particles of one type against the number of missing particles of another type. This is useful to look for correlations between an increase in one type and a decrease in others. \par
+Missing Particle Correlations/Particle ID vs Particle ID\b\f1\par
+\pard\sa200\sl276\slmult1\f0 Using the Aida Histograms\par
+\b0 Aida histograms are used to display information to the user. The axis must be set by entering the number of bins, lower limit and upper limit for each type of histogram. The default values work well in most cases however may need to be readjusted. Note: If a value lies outside the range of the aida histogram then it will not be included in the displayed mean.\f1\par
+\pard\sl360\slmult1\f0  \cf2\f1\fs20\tab\f0 //Size of histogram for number of particles in the event MC and RC\par
+\tab int numberparthist[] = \{150,0,150\};\par
+\tab //Size of histogram for number of missing particles in the event\par
+\tab int numberpartmissinghist[] = \{70,-20,50\};\par
+\tab //Size of histogram for energy of MC particles \par
+\tab int energyhist[] = \{500,0,500\};\par
+\tab //Size of histogram for energy of missing particles\par
+\tab int energymissinghist[] = \{75,0,75\};\par
+\tab //Size of cos(angle) histogram\par
+\tab int anglehist[] = \{200,-1,1\};\cf0\f1\fs22\par
+\pard\sa200\sl276\slmult1\b\f0 Hash map filling and averages\par
+\b0 The code in the box below plays two roles. First a list of the \ldblquote keys\rdblquote  or in this case, particle Ids are added to a list, along with Ids for particles that we are going to be observing. Secondly this list is run over and for both the RC and MC hash maps ensure that if the value is null it is set to 0. \f1\par
+\f0 This serves two purposes. It ensures that null pointer errors are avoided when running over particle Ids. This could happen for example if a particle appeared in one collection but not the other. It also ensures that when a particle is not present in the MC or RC collection it still exists still in the hash map. The reason for this is to ensure that in events like this data is still added to the histograms and any averaging is correct. \f1\par
+\f0 These lines may be removed to change the average from  \ldblquote over all events\rdblquote  to an average over \ldblquote events containing these particles\rdblquote\b\f1\par
+\pard\sl276\slmult1\cf2\b0\f0\fs20 Set<Integer> ParticleList = new HashSet<Integer>();\par
+ParticleList.addAll(particlenumbersmc.keySet());\par
+ParticleList.addAll(particlenumbersrc.keySet());\par
+ParticleList.add(130); \par
+ParticleList.add(13); \par
+ParticleList.add(211); \par
+ParticleList.add(9912);\par
+ParticleList.add(22);\par
+ParticleList.add(11);\par
+allparticlekeys = ParticleList.toArray();\par
+\par
+//Fills empty hashmap values with 0 to prevent null pointer error \par
+for(Object id : allparticlekeys)\{\par
+\f1\tab\f0 if (particlenumbersmc.get(id.hashCode()) == null) \{\par
+\tab\tab particlenumbersmc.put(id.hashCode(), 0);\par
+\tab\}\par
+\tab if (particlenumbersrc.get(id.hashCode()) == null) \{\par
+\tab\tab particlenumbersrc.put(id.hashCode(), 0);\par
+\tab\}\par
+\}\cf0\b\f1\fs22\par
+\pard\sa200\sl276\slmult1\f0 Outputting data from the hash maps\f1\par
+\b0\f0 The driver also has code near the end the can be used to output the data stored in the hash maps. This can help to export the data or when higher precision is needed.  The code below will output the hash map \ldblquote particlenumbersmc\rdblquote . \f1\par
+\pard\sl360\slmult1\cf2\f0\fs20 Object ParticleList2[] = particlenumbersmc.keySet().toArray();\f1\par
+\f0 for(int i = 1; i< ParticleList2.length;i++)\{\par
+\pard\li720\sl360\slmult1 System.out.println("Particle ID = " + ParticleList2[i].hashCode() + " number of particles = " +particlenumbersmc.get(ParticleList2[i]));\par
+\pard\sl360\slmult1\f1\}\cf0\fs22\par
+\pard\sa200\sl276\slmult1\f0 The endOfData method runs after all the data has been processed and is a good place to put the output code. \f1\par
+\b\f0 Outputting specific events to LCIO files\par
+\b0 Outputting specific events to an LCIO file can be achieved by moving these lines of code to a point in the program that is reached only in events  you wish to output. \f1\par
+\pard\sl360\slmult1\f0  \cf2\fs20 try \{\par
+\pard\fi720\sl360\slmult1 writer.write(event);\par
+\pard\sl360\slmult1\f1\}\f0  catch (IOException x) \{\par
+\tab throw new RuntimeException("Error writing LCIO file", x);\par
+\}\cf0\f1\fs22\tab\tab\b\par
+\pard\sa200\sl276\slmult1\f0 Variables\par
+\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx2317\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx4562\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx6443\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx10515\pard\intbl\qj\cf1\b0 Particle \cell Type\cell Method\cell Description\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl aida\cell AIDA\cell Global\cell Aida instance \cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl allparticlekeys[]\cell Object\cell Global\cell Stores the Ids of all particles involved in the event\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl anglehist[]\cell int\cell Global\cell Stores the number of bins and the lower / upper edges of the histograms being drawn in aida.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl beampipe\cell int\cell Global\cell Set to 0 initially and changed to 1 in mccount if the event is a beam pipe event.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl cuttype\cell String\cell outputhistograms\par
+particlehistograms\cell Used to pass the cut name with which the outputs are being processed, or \ldblquote all events\rdblquote  if this is being called within process without cuts.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl energy\cell double\cell countrc\par
+countmc\cell Adds the energy of each particles together to get the energy of the event for mc particles and rc particles.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl energyhist[]\cell int\cell Global\cell Stores the number of bins and the lower / upper edges of the histograms being drawn in aida.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl energymissinghist[] \cell int\cell Global\cell Stores the number of bins and the lower / upper edges of the histograms being drawn in aida.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl found\cell int\cell particlehistograms\cell 0 initially. Set to 1 if a particle with similar attributes is found in the corresponding collection. \cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl i / j\cell int\cell Various\cell Used as a counter within most for loops\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl ievt\cell int\cell Global\cell Counter for the event\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl MCMuons (List)\cell MCParticle\cell Global\cell Stores the MC muons\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl mcparticlename\cell String\cell Global\cell Name of the MC particle collection\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl mcparticles (List)\cell MCParticle\cell Global\cell Stores all the MC particles \endash  straight from the LCIO collection.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl numberparthist[]\cell int\cell Global\cell Stores the number of bins and the lower / upper edges of the histograms being drawn in aida. \cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl numberpartmissinghist[]\cell int\cell Global\cell Stores the number of bins and the lower / upper edges of the histograms being drawn in aida.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl numparticlesmc\cell int\cell Global\cell Stores the total number of final state particles in the MC particle collection.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl numparticlesrc\cell int\cell Global\cell Stores the total number of particles in the RC particles collection.\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl originaltype\cell Int\cell gettype\cell Used to pass the original particle PDGID\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl output\cell File\cell Constructor\cell Stores the output directory to be passed to the LCIO writer\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl ParticleList (Set)\cell Integer\cell process\cell Used as an intermediate step to add additional particle Ids to the Hash Map (See Hash Map Filling and averages)\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl particlenumbersmc\cell HashMap\cell Global\cell Stores the number of each type of final state MC particle\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl particlenumbersrc\cell HashMap\cell Global\cell Stores the number of each type of RC particle\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl RCMuons (List)\cell Reconstructed Particle\cell Global\cell Stores the RC muons\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl rcparticles (List)\cell Reconstructed Particle\cell Global\cell Stores all the RC particles \endash  straight from the LCIO collection\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\cellx2317\cellx4562\cellx6443\cellx10515\pard\intbl reconname\cell String\cell Global\cell Name of the reconstructed particle collection\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat7\cellx2317\clcbpat7\cellx4562\clcbpat7\cellx6443\clcbpat7\cellx10515\pard\intbl type\cell Int\cell gettype\cell Used to store the value to be returned by the gettype method\cell\row\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx2317\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx4562\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx6443\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx10515\pard\intbl writer\cell LCIOWriter\cell Global\cell LCIO writer\cell\row\pard\sa200\sl276\slmult1\cf0\b\f1\par
+\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clcbpat5\clbrdrl\brdrw20\brdrs\brdrcf5\clbrdrt\brdrw20\brdrs\brdrcf5 \cellx1701\clcbpat5\clbrdrt\brdrw20\brdrs\brdrcf5 \cellx6237\clcbpat5\clbrdrt\brdrw20\brdrs\brdrcf5 \cellx8364\clcbpat5\clbrdrt\brdrw20\brdrs\brdrcf5 \cellx9639\clcbpat5\clbrdrt\brdrw20\brdrs\brdrcf5 \cellx10915\clcbpat5\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrr\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\sa120\cf3\f0\fs19 Methods\cell Description\cell Called from\cell Argument\cell Return Value\cell\pard\intbl\sa40\sl276\slmult1 Aida Plots (The particleID value takes the value of each condensed particle IDs used in the program and all)\cf0\b0\f1\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx1701\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx6237\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx8364\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx9639\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx10915\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrr\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b\f0 process\cell\b0 Runs for every event in the LCIO file. Runs both the counting loops countmc and countrc. The runs outputhistogram with various cuts applied and looks for correlations between missing particles by plotting 2d histograms.\cell Driver\cell -\cell -\cell MC Data/particleID/Numbers\par
+Missing Particle Correlations/Particle ID vs Particle ID\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5 \cellx1701\cellx6237\cellx8364\cellx9639\cellx10915\clbrdrr\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b countmc\cell\b0 Counts the number of each type of final state particle in the MC particle collection and adds the results to the \ldblquote particlenumbersmc\ldblquote  hash map. Adds all the muons to the \ldblquote MCMuon\rdblquote  list. Checks for particles that go down the beampipe and sets the \ldblquote beampipe\rdblquote  attribute. \cell process\cell -\cell int number of final state MC particles\par
+\cell MC Data/particleID/energy\par
+MC Data/particleID/Cos Angle\par
+\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx1701\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx6237\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx8364\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx9639\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx10915\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrr\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b countrc\cell\b0 Counts the number of each type of particle in the reconstructed particle collection and adds the results to the \ldblquote particlenumbersrc \ldblquote hash map. Adds all the muons to the \ldblquote RCMuon\rdblquote  list. \cell process\cell -\cell int number of RC particles\cell -\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5 \cellx1701\cellx6237\cellx8364\cellx9639\cellx10915\clbrdrr\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b getttype\cell\b0 Takes the particle ID value and returns a type based on the table below.\cell parcarticlehistograms\par
+countmc\par
+countrc\cell int originaltype\cell int condensed particle ID\cell -\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx1701\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx6237\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx8364\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx9639\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx10915\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrr\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b outputhistogram\cell\b0 Outputs data of the number of each type of particle involved in the event, as well as how many are actually missing from the reconstruction. It should be noted that this value is the mc number of particles minus the rc number and hence can be negative to indicate additional created particles. \cell process\cell string cuttype\cell -\cell cuttype/particleID/Number Particles RC\par
+cuttype/particleID/Number Particles MC\par
+cuttype/particleID/Missing Particles\par
+cuttype/particleID/beampipe = 0/Number PartRC\par
+cuttype/particleID/beampipe = 0/Number Part MC\par
+cuttype/particleID/beampipe = 0/Missing Part\par
+cuttype/particleID/beampipe = 1/Number Part RC\par
+cuttype/particleID/beampipe = 1/Number Part MC\par
+cuttype/particleID/beampipe = 1/Missing Part\cell\row\trowd\trgaph108\trleft-108\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5 \cellx1701\cellx6237\cellx8364\cellx9639\cellx10915\clbrdrr\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b particlehistograms\cell\b0 Loops of each final state MC particle of the specified type and checks to see if a corresponding particle can be found in the RC particle collection based on condensed ID, charge, angle and energy. If a particle cannot be found data on the MC particle which is MISSING from the RC is output to histograms. The same is then done for reconstructed particles that have been created during reconstruction\cell outputhistogram\cell string cuttype,\par
+int type\cell -\cell cuttype/particleID/Missing/Angle\par
+cuttype/particleID/Missing/Energy\par
+cuttype/particleID/Missing/Angle Not Beampipe\par
+cuttype/particleID/Missing/Energy Not Beampipe\par
+cuttype/particleID/Created/Angle\par
+cuttype/particleID/Created/Energy\par
+cuttype/particleID/Created/Angle to muons\par
+cuttype/particleID/Created/Cal Hits vs energy\par
+cuttype/particleID/Created/Angle Not Beampipe\par
+cuttype/particleID/Created/Energy Not Beampipe\par
+cuttype/particleID/Created/Cal Hits vs energy Not Beam\cell\row\trowd\trgaph108\trleft-108\trrh595\trbrdrl\brdrs\brdrw20 \trbrdrt\brdrs\brdrw20 \trbrdrr\brdrs\brdrw20 \trbrdrb\brdrs\brdrw20 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
+\clbrdrl\brdrw20\brdrs\brdrcf5\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx1701\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx6237\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx8364\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx9639\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx10915\clbrdrt\brdrw20\brdrs\brdrcf5\clbrdrr\brdrw20\brdrs\brdrcf5\clbrdrb\brdrw20\brdrs\brdrcf5 \cellx15506\pard\intbl\b endOfData\cell\b0 Runs at the end of data and can be used to output the contents of the hash maps to the console for more precise measurements \cell -\cell -\cell -\cell -\cell\row\pard\sa200\sl276\slmult1\f1\fs22\par
+}
+
\ No newline at end of file
CVSspam 0.2.8