1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 |
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
3 |
<title>PamCut: TrkNucleiZCut Class Reference</title> |
4 |
<link href="tabs.css" rel="stylesheet" type="text/css"> |
5 |
<link href="doxygen.css" rel="stylesheet" type="text/css"> |
6 |
</head><body> |
7 |
<!-- Generated by Doxygen 1.5.9 --> |
8 |
<div class="navigation" id="top"> |
9 |
<div class="tabs"> |
10 |
<ul> |
11 |
<li><a href="index.html"><span>Main Page</span></a></li> |
12 |
<li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
13 |
<li><a href="files.html"><span>Files</span></a></li> |
14 |
</ul> |
15 |
</div> |
16 |
<div class="tabs"> |
17 |
<ul> |
18 |
<li><a href="annotated.html"><span>Class List</span></a></li> |
19 |
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
20 |
<li><a href="functions.html"><span>Class Members</span></a></li> |
21 |
</ul> |
22 |
</div> |
23 |
</div> |
24 |
<div class="contents"> |
25 |
<h1>TrkNucleiZCut Class Reference</h1><!-- doxytag: class="TrkNucleiZCut" --><!-- doxytag: inherits="PamCut" -->The TrkNuclei charge cut. |
26 |
<a href="#_details">More...</a> |
27 |
<p> |
28 |
<code>#include <<a class="el" href="TrkNucleiZCut_8h_source.html">TrkNucleiZCut.h</a>></code> |
29 |
<p> |
30 |
<div class="dynheader"> |
31 |
Inheritance diagram for TrkNucleiZCut:</div> |
32 |
<div class="dynsection"> |
33 |
|
34 |
<p><center><img src="classTrkNucleiZCut.png" usemap="#TrkNucleiZCut_map" border="0" alt=""></center> |
35 |
<map name="TrkNucleiZCut_map"> |
36 |
<area href="classPamCut.html" alt="PamCut" shape="rect" coords="0,0,94,24"> |
37 |
</map> |
38 |
</div> |
39 |
|
40 |
<p> |
41 |
<a href="classTrkNucleiZCut-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> |
42 |
<tr><td></td></tr> |
43 |
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> |
44 |
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTrkNucleiZCut.html#7cd05774c5dbdfee3350cdd6f0c24dda">TrkNucleiZCut</a> (const char *cutName, unsigned int Z, float lowerLimit, float upperLimit, unsigned int minLayers=1, unsigned int howToCheck=TRKNUCLEIZ_CHECKMEAN, unsigned int method=TRKNUCLEIZ_RIG)</td></tr> |
45 |
|
46 |
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#7cd05774c5dbdfee3350cdd6f0c24dda"></a><br></td></tr> |
47 |
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="598ac3f78edc0b6add6a3959a5cd3db5"></a><!-- doxytag: member="TrkNucleiZCut::~TrkNucleiZCut" ref="598ac3f78edc0b6add6a3959a5cd3db5" args="()" --> |
48 |
</td><td class="memItemRight" valign="bottom"><a class="el" href="classTrkNucleiZCut.html#598ac3f78edc0b6add6a3959a5cd3db5">~TrkNucleiZCut</a> ()</td></tr> |
49 |
|
50 |
<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br></td></tr> |
51 |
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTrkNucleiZCut.html#de47cb3c368d7ab12a8a5236de8915a4">Check</a> (PamLevel2 *event)</td></tr> |
52 |
|
53 |
<tr><td class="mdescLeft"> </td><td class="mdescRight">The TrkNucleiZ check. <a href="#de47cb3c368d7ab12a8a5236de8915a4"></a><br></td></tr> |
54 |
</table> |
55 |
<hr><a name="_details"></a><h2>Detailed Description</h2> |
56 |
The TrkNuclei charge cut. |
57 |
<p> |
58 |
This cut uses the TrkNuclei library to cut events depending on particle's charge value. <hr><h2>Constructor & Destructor Documentation</h2> |
59 |
<a class="anchor" name="7cd05774c5dbdfee3350cdd6f0c24dda"></a><!-- doxytag: member="TrkNucleiZCut::TrkNucleiZCut" ref="7cd05774c5dbdfee3350cdd6f0c24dda" args="(const char *cutName, unsigned int Z, float lowerLimit, float upperLimit, unsigned int minLayers=1, unsigned int howToCheck=TRKNUCLEIZ_CHECKMEAN, unsigned int method=TRKNUCLEIZ_RIG)" --> |
60 |
<div class="memitem"> |
61 |
<div class="memproto"> |
62 |
<table class="memname"> |
63 |
<tr> |
64 |
<td class="memname">TrkNucleiZCut::TrkNucleiZCut </td> |
65 |
<td>(</td> |
66 |
<td class="paramtype">const char * </td> |
67 |
<td class="paramname"> <em>cutName</em>, </td> |
68 |
</tr> |
69 |
<tr> |
70 |
<td class="paramkey"></td> |
71 |
<td></td> |
72 |
<td class="paramtype">unsigned int </td> |
73 |
<td class="paramname"> <em>Z</em>, </td> |
74 |
</tr> |
75 |
<tr> |
76 |
<td class="paramkey"></td> |
77 |
<td></td> |
78 |
<td class="paramtype">float </td> |
79 |
<td class="paramname"> <em>lowerLimit</em>, </td> |
80 |
</tr> |
81 |
<tr> |
82 |
<td class="paramkey"></td> |
83 |
<td></td> |
84 |
<td class="paramtype">float </td> |
85 |
<td class="paramname"> <em>upperLimit</em>, </td> |
86 |
</tr> |
87 |
<tr> |
88 |
<td class="paramkey"></td> |
89 |
<td></td> |
90 |
<td class="paramtype">unsigned int </td> |
91 |
<td class="paramname"> <em>minLayers</em> = <code>1</code>, </td> |
92 |
</tr> |
93 |
<tr> |
94 |
<td class="paramkey"></td> |
95 |
<td></td> |
96 |
<td class="paramtype">unsigned int </td> |
97 |
<td class="paramname"> <em>howToCheck</em> = <code>TRKNUCLEIZ_CHECKMEAN</code>, </td> |
98 |
</tr> |
99 |
<tr> |
100 |
<td class="paramkey"></td> |
101 |
<td></td> |
102 |
<td class="paramtype">unsigned int </td> |
103 |
<td class="paramname"> <em>method</em> = <code>TRKNUCLEIZ_RIG</code></td><td> </td> |
104 |
</tr> |
105 |
<tr> |
106 |
<td></td> |
107 |
<td>)</td> |
108 |
<td></td><td></td><td><code> [inline]</code></td> |
109 |
</tr> |
110 |
</table> |
111 |
</div> |
112 |
<div class="memdoc"> |
113 |
|
114 |
<p> |
115 |
Constructor. |
116 |
<p> |
117 |
The charge to look for is passed to the <a class="el" href="classTrkNucleiZCut.html" title="The TrkNuclei charge cut.">TrkNucleiZCut</a> object as Z. For each charge, there is an associated distribution of events, with mean Zmean and standard deviation sigmaZ. These values will be used to check the events.<p> |
118 |
<dl compact><dt><b>Parameters:</b></dt><dd> |
119 |
<table border="0" cellspacing="2" cellpadding="0"> |
120 |
<tr><td valign="top"></td><td valign="top"><em>cutName</em> </td><td>The cut's name. </td></tr> |
121 |
<tr><td valign="top"></td><td valign="top"><em>Z</em> </td><td>The charge value. </td></tr> |
122 |
<tr><td valign="top"></td><td valign="top"><em>lowerLimit</em> </td><td>The lower bound (in units of sigma_Z) of the desired charge range, defined as Zmean - lowerBound*sigmaZ. </td></tr> |
123 |
<tr><td valign="top"></td><td valign="top"><em>upperLimit</em> </td><td>The upper bound (in units of sigma_Z) of the desired charge range, defined as Zmean + upperBound*sigmaZ. </td></tr> |
124 |
<tr><td valign="top"></td><td valign="top"><em>minLayers</em> </td><td>The minimum required number of layers which give a valid charge information. </td></tr> |
125 |
<tr><td valign="top"></td><td valign="top"><em>howToCheck</em> </td><td>Flag to set the check by mean release or by release in single planes (see <a class="el" href="TrkNucleiZCut_8h.html#4c885aa7c0e17adf9a7903317a2b4234">TrkNucleiZ_Check</a>). </td></tr> |
126 |
<tr><td valign="top"></td><td valign="top"><em>method</em> </td><td>The method to use to measure the particle's charge (see <a class="el" href="TrkNucleiZCut_8h.html#26b0e4535fb2372057e0cc53b865b5a8">TrkNucleiZ_method</a>). </td></tr> |
127 |
</table> |
128 |
</dl> |
129 |
<dl class="return" compact><dt><b>Returns:</b></dt><dd></dd></dl> |
130 |
|
131 |
</div> |
132 |
</div><p> |
133 |
<hr><h2>Member Function Documentation</h2> |
134 |
<a class="anchor" name="de47cb3c368d7ab12a8a5236de8915a4"></a><!-- doxytag: member="TrkNucleiZCut::Check" ref="de47cb3c368d7ab12a8a5236de8915a4" args="(PamLevel2 *event)" --> |
135 |
<div class="memitem"> |
136 |
<div class="memproto"> |
137 |
<table class="memname"> |
138 |
<tr> |
139 |
<td class="memname">int TrkNucleiZCut::Check </td> |
140 |
<td>(</td> |
141 |
<td class="paramtype">PamLevel2 * </td> |
142 |
<td class="paramname"> <em>event</em> </td> |
143 |
<td> ) </td> |
144 |
<td><code> [virtual]</code></td> |
145 |
</tr> |
146 |
</table> |
147 |
</div> |
148 |
<div class="memdoc"> |
149 |
|
150 |
<p> |
151 |
The TrkNucleiZ check. |
152 |
<p> |
153 |
The routine selects events whose value of Zmean obtained from the TrkNuclei Class is in the range [Zmean - sigma*lowerBound, Zmean + sigma*upperBound]. Zmean and sigma are defined respectively as the mean and the standard deviation of the charge distributions obtained using TrkNuclei. In current implementation, calibrations for Z=1 and Z=2 for mean dE/dx Vs. rigidity are:<p> |
154 |
Z=1 | mean sigma ------------------------ | 0.992 0.06<p> |
155 |
Z=2 | mean sigma ------------------------ | 1.99 0.1<p> |
156 |
For all other cases (Z>2 or single plane releases or dE/dx Vs. beta), means are taken to be equal to the charge value (Zmean = Z) and sigmas are:<p> |
157 |
Z | sigma ----------- 1 | 0.09 2 | 0.10 3 | 0.17 4 | 0.34 5 | 0.44 6 | 0.59<p> |
158 |
The TofNuclei calibrations used are the standard ones (from Wolfgang, see TrkNuclei.cpp). First of all, the number of layers giving a valid charge information is checked to be greater than minLayers; if it's not so, the routine will return <a class="el" href="TrkNucleiZCut_8h.html#3e78e6ef9e0abc656efc51a034b06b41e5e83b509d3047083352c35e145af4aa" title="Discarded because charge can be measured in too few layers.">TRKNUCLEIZ_TOOFEWLAYERS</a>. Next, it will check if the charge obtained considering the mean dE/dx in the tracker's layers is in the validity range if the constructor's flag howToCheckMean was set to TRKNUCLEIZ_CHECKMEAN; otherwise, it will check each single valid charge value (mean for X and Y views) obtained from each layer. In the latter case, it will return <a class="el" href="CommonDefs_8h.html#c857f4b76ae431837cbf61fd74863b6c" title="The implementations of PamCut::Check() must return this value if the event satisfy...">CUTOK</a> only if all valid layers (ie., those tagged as good for both X and Y in traccker level 2 routines) give a charge inside the bounds, regardless of the value of minLayers.<p> |
159 |
<dl compact><dt><b>Parameters:</b></dt><dd> |
160 |
<table border="0" cellspacing="2" cellpadding="0"> |
161 |
<tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event to analyze. </td></tr> |
162 |
</table> |
163 |
</dl> |
164 |
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="CommonDefs_8h.html#c857f4b76ae431837cbf61fd74863b6c" title="The implementations of PamCut::Check() must return this value if the event satisfy...">CUTOK</a> if the charge from mean dE/dx(if howToCheck == <a class="el" href="TrkNucleiZCut_8h.html#4c885aa7c0e17adf9a7903317a2b4234aa7d5140e9c1973b2461970838f072fd" title="Check the mean value.">TRKNUCLEIZ_CHECKMEAN</a>) or all the single layer charges (if howToCheck == <a class="el" href="TrkNucleiZCut_8h.html#4c885aa7c0e17adf9a7903317a2b4234a9bc9846d177843d2ec717c4333c90a2" title="Check each single charge from each layer.">TRKNUCLEIZ_CHECKSINGLEVALUES</a>) obtained from TrkNuclei are in the range [Z - sigma*lowerBound, Z + sigma*upperBound]. <p> |
165 |
<a class="el" href="TrkNucleiZCut_8h.html#3e78e6ef9e0abc656efc51a034b06b416dc17ce6156ddda7c99352e6e162ddbe" title="Discarded because charge is out of bounds.">TRKNUCLEIZ_OUTOFBOUNDS</a> if the charge from mean dE/dx(if howToCheck == <a class="el" href="TrkNucleiZCut_8h.html#4c885aa7c0e17adf9a7903317a2b4234aa7d5140e9c1973b2461970838f072fd" title="Check the mean value.">TRKNUCLEIZ_CHECKMEAN</a>) or at least one valid single layer charge (if howToCheck == <a class="el" href="TrkNucleiZCut_8h.html#4c885aa7c0e17adf9a7903317a2b4234a9bc9846d177843d2ec717c4333c90a2" title="Check each single charge from each layer.">TRKNUCLEIZ_CHECKSINGLEVALUES</a>) is out of bounds. <p> |
166 |
<a class="el" href="TrkNucleiZCut_8h.html#3e78e6ef9e0abc656efc51a034b06b41e5e83b509d3047083352c35e145af4aa" title="Discarded because charge can be measured in too few layers.">TRKNUCLEIZ_TOOFEWLAYERS</a> if charge information is available for a number of layers lesser than minLayers. <p> |
167 |
<a class="el" href="TrkNucleiZCut_8h.html#3e78e6ef9e0abc656efc51a034b06b416dc17ce6156ddda7c99352e6e162ddbe" title="Discarded because charge is out of bounds.">TRKNUCLEIZ_OUTOFBOUNDS</a> if Z < 1 or Z > 6. </dd></dl> |
168 |
|
169 |
<p>Implements <a class="el" href="classPamCut.html#a874600461950d1f2b75ce3938f91cbe">PamCut</a>.</p> |
170 |
|
171 |
</div> |
172 |
</div><p> |
173 |
<hr>The documentation for this class was generated from the following files:<ul> |
174 |
<li>TrkCuts/TrkNucleiZCut/<a class="el" href="TrkNucleiZCut_8h_source.html">TrkNucleiZCut.h</a><li>TrkCuts/TrkNucleiZCut/<a class="el" href="TrkNucleiZCut_8cpp.html">TrkNucleiZCut.cpp</a></ul> |
175 |
</div> |
176 |
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 5 15:09:08 2009 for PamCut by |
177 |
<a href="http://www.doxygen.org/index.html"> |
178 |
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> |
179 |
</body> |
180 |
</html> |