<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<blockquote type="cite" class=""><span class="" style="float: none; display: inline !important;">The interface promises to return a Particle object (or rather a vector of them), so it can't just be a bare momentum object... and cf. all this discussion it needs
to know about its contents, etc. I guess we could set the Particle::pid() to 0, but for now we set it to 23.</span><br class="">
<br class="">
<span class="" style="float: none; display: inline !important;">And yes, caveat emptor re. Born Z's etc.! Not sure the solution to that is technical, unless we wanted to call it a "PseudoZFinder" cf. pseudo-tops.</span></blockquote>
<div class=""><br class="">
</div>
<div class="">Ok, that’s what I thought. Pid = 0 makes more sense to me than pid = 23, but I guess that’s debatable. PseudoZFinder is probably (hopefully?) not necessary… </div>
<div class=""><br class="">
</div>
<div class="">Cheers,</div>
<div class="">Chris</div>
<div class=""><br class="">
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 1 Jul 2016, at 16:28, Andy Buckley <<a href="mailto:a.g.buckley@gmail.com" class="">a.g.buckley@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">On
01/07/16 16:18, Christian Gutschow wrote:</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
Thanks for clarifying, Andy! I see the problem about the recursion now.<br class="">
Will have to think about your points more carefully, but just to comment<br class="">
on this one:<br class="">
<br class="">
<blockquote type="cite" class="">* consitutents() vs rawConstituents()/etc.: the distinction is<br class="">
recursion. Let's say I have a ZFinder, and I ask it for its<br class="">
particles(). It returns me a vector of Particles with pid = 23. I then<br class="">
call Particle:: constituents() on each of those and what do I get? I'd<br class="">
expect the two DressedLeptons*. And if I call constituents() on each<br class="">
of _those_, I finally get down to the fundamental bare leptons and<br class="">
photons which have corresponding GenParticles.<br class="">
So my distinction between Particle::constituents() and<br class="">
Particle::rawConstituents() (please, a better name!) is that the<br class="">
latter would recurse to find the indivisible consitutents, possibly<br class="">
through several layers of composition. Make sense? I guess an<br class="">
indivisible would be defined as a Particle with an empty constituents<br class="">
vector (the existence of which is essential if Particles are to have<br class="">
finite size!!)<br class="">
</blockquote>
<br class="">
What the ZFinder::particles() would actually return is the 4-momentum<br class="">
combination of the (dressed) leptons for a given pair, no? Are we<br class="">
currently assigning a pid to the ZFinder::bosons()? The pid = 23 makes<br class="">
it look like it's the actual Z boson from the event record which (i)<br class="">
doesn’t exist depending on the generator and (ii) I could imagine people<br class="">
will use to cook up all sorts of Born-level nonsense not explicit enough<br class="">
about this.<br class="">
</blockquote>
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">The
interface promises to return a Particle object (or rather a vector of them), so it can't just be a bare momentum object... and cf. all this discussion it needs to know about its contents, etc. I guess we could set the Particle::pid() to 0, but for now we set
it to 23.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">And
yes, caveat emptor re. Born Z's etc.! Not sure the solution to that is technical, unless we wanted to call it a "PseudoZFinder" cf. pseudo-tops.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
How about components() for "constituent, maybe composite" and<br class="">
constituents() for indivisible constituents then?<br class="">
</blockquote>
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Actually,
I rather like that. Only issue is that the words are quite similar, but I think it's neat. Other people's thoughts and suggestions?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Cheers,</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Andy</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<blockquote type="cite" class="">On 1 Jul 2016, at 14:54, Andy Buckley <<a href="mailto:a.g.buckley@gmail.com" class="">a.g.buckley@gmail.com</a><br class="">
<<a href="mailto:a.g.buckley@gmail.com" class="">mailto:a.g.buckley@gmail.com</a>>> wrote:<br class="">
<br class="">
Thanks Chris, great to have feedback.<br class="">
<br class="">
These are some of the awkward points I've been juggling internally. I<br class="">
pretty much agree with your first 3 paragraphs and think they are what<br class="">
I'm saying. I absolutely agree that if running an XFinder, then I<br class="">
expect the Particles to be returned by XFinder::particles() to be Xs.<br class="">
Which is not the current behaviour.<br class="">
<br class="">
One nuance: if ZFinder is a ParticleFinder (I think it is...) then the<br class="">
bosons would also be accessed through the inherited particles()<br class="">
method. Of course we won't want to apply smearing to Z bosons, but it<br class="">
would be an obvious consequence of defining that<br class="">
particles/constituents access on the base class, and a const<br class="">
ParticleFinder& is what SmearedParticles accepts as an input.<br class="">
<br class="">
Other points:<br class="">
<br class="">
* consitutents() vs rawConstituents()/etc.: the distinction is<br class="">
recursion. Let's say I have a ZFinder, and I ask it for its<br class="">
particles(). It returns me a vector of Particles with pid = 23. I then<br class="">
call Particle:: constituents() on each of those and what do I get? I'd<br class="">
expect the two DressedLeptons*. And if I call constituents() on each<br class="">
of _those_, I finally get down to the fundamental bare leptons and<br class="">
photons which have corresponding GenParticles.<br class="">
So my distinction between Particle::constituents() and<br class="">
Particle::rawConstituents() (please, a better name!) is that the<br class="">
latter would recurse to find the indivisible consitutents, possibly<br class="">
through several layers of composition. Make sense? I guess an<br class="">
indivisible would be defined as a Particle with an empty constituents<br class="">
vector (the existence of which is essential if Particles are to have<br class="">
finite size!!)<br class="">
<br class="">
* bosons() vs. boson(): IIRC the ZFinder code says something specific<br class="">
about only being able to find one candidate boson per event. But since<br class="">
C++ has no NULL/None "invalid value" that can be returned from a<br class="">
boson() function (unless using pointers), we started with bosons() and<br class="">
hence lots of code that looked like bosons()[0]. boson() is just<br class="">
syntactic sugar for that -- I think it throws an exception if there is<br class="">
no boson to be returned, but haven't explicitly checked for that.<br class="">
<br class="">
* Thanks for input on the "release something imperfect, soon". I also<br class="">
think it's the way forward. Any objections? "Release early, release<br class="">
often", as Linus said.<br class="">
<br class="">
Cheers,<br class="">
Andy<br class="">
<br class="">
* Eek. Here's an awkwardness: a vector<Particle> will have sliced each<br class="">
contained DressedParticle down to its Particle base class. To use them<br class="">
as DressedLeptons would require a dynamic_cast (or reinterpret_cast?),<br class="">
or be impossible. Hopefully adding constituent-awareness to Particle<br class="">
will make DressedLepton unnecessary so we can avoid this problem, but<br class="">
this is the sort of thing that makes seemingly simple reorganisations<br class="">
difficult.<br class="">
<br class="">
<br class="">
On 01/07/16 14:27, Christian Gutschow wrote:<br class="">
<blockquote type="cite" class="">Hi Andy,<br class="">
<br class="">
why do we need a new name and cannot stick to particles and<br class="">
constituents, but make them distinct? Is there a technical reason or is<br class="">
it just backward compatibility?<br class="">
<br class="">
Ignoring the status quo, naively I would think that if I call<br class="">
particles(), say on the DressedLeptons projection, it should return what<br class="">
I asked it to find, i.e. the dressed leptons, whereas if I run<br class="">
constituents(), it will give me the raw particles used in the making of<br class="">
dressed leptons, all of them. Whereas if I run constituents on an<br class="">
individual DressedLepton object, it will only give me the raw particles<br class="">
for the individual dressed lepton.<br class="">
<br class="">
If I apply the same logic to the ZFinder, I would think we need<br class="">
something like bosons() which returns the (dressed) dilepton pairs, on<br class="">
each of which I can call particles() which will give me the two dressed<br class="">
leptons (for said candidate), and on each of those I can call<br class="">
constituents(), which will give me the bare electron and the photons, as<br class="">
above. If I then ask for the smeared versions, I would get a smeared<br class="">
dressed lepton on the particles() level and individually smeared bare<br class="">
leptons and photons on the constituent level.<br class="">
<br class="">
I think this is more or less what you’re suggesting in step a), I’m just<br class="">
not sure why we need rawConstituents or simpleConstituents and can’t<br class="">
just use constituents for this.<br class="">
<br class="">
Right now, the ZFinder already has the plural bosons(), but then we also<br class="">
have the singular boson() which doesn’t make any sense if there are<br class="">
multiple bosons to be found, so why exactly is it there in the first<br class="">
place? I’m also unsure about what the ZFinder is going to give me when I<br class="">
call constituents() on the projection, especially if there are multiple<br class="">
Z candidates. (Is it the bosons? Is it an even number of dressed<br class="">
leptons? How are they ordered? …)<br class="">
<br class="">
Anyway, the distinction between particles and constituents may work<br class="">
conceptually for composite particles, but admittedly the same logic<br class="">
doesn’t work with jets. At the moment we can call either particles or<br class="">
constituents on a Jet object and they will both return the same thing,<br class="">
which I think is fine for Jet objects, but it’s not immediately obvious<br class="">
that these two are aliases for one another in this case. Perhaps that’s<br class="">
not really a problem though?<br class="">
<br class="">
I’m all in favour of your last suggestion, i.e. pushing out something<br class="">
95% useful asap. For all we know, we may end up receiving some feedback<br class="">
which could well influence the ironing out of the remaining details.<br class="">
<br class="">
Cheers,<br class="">
Chris<br class="">
<br class="">
<br class="">
<blockquote type="cite" class="">On 29 Jun 2016, at 14:00, Andy Buckley <<a href="mailto:andy.buckley@cern.ch" class="">andy.buckley@cern.ch</a><br class="">
<<a href="mailto:andy.buckley@cern.ch" class="">mailto:andy.buckley@cern.ch</a>><br class="">
<<a href="mailto:andy.buckley@cern.ch" class="">mailto:andy.buckley@cern.ch</a>>> wrote:<br class="">
<br class="">
Hi,<br class="">
<br class="">
Time to grasp a nettle. Remember some weeks back, when putting<br class="">
together a smearing machinery for Rivet, we had some discussion about<br class="">
how to uniformly access composite vs. simple particles from "finder"<br class="">
projections? It seemed awkward, so we stopped.<br class="">
<br class="">
The reason it's important is that at the moment the "finder"<br class="">
projections, more by consensus than explicit design, only return<br class="">
*simple* (i.e. indivisible & directly matched to HepMC objects)<br class="">
constituent particles via the particles() method. There is no<br class="">
equivalent uniform method for accessing composite particles like<br class="">
reconstructed Z bosons or dressed leptons.<br class="">
<br class="">
And that creates a problem, because if I apply an electron smearing or<br class="">
efficiency to an IdentifiedFinalState of simple electrons then what I<br class="">
get out is reasonable, but if I apply the same thing to a<br class="">
DressedLeptons projection then what comes out is a list of simple<br class="">
electrons and photons, which have all had the electron efficiencies<br class="">
applied to them individually. Bad idea.<br class="">
<br class="">
I think to fix this we have to:<br class="">
<br class="">
a) provide *two* methods on the ParticleFinder base class: one for the<br class="">
composite particles that are the semantic output of that projection,<br class="">
i.e. the things we asked it to "find"; and a second for the<br class="">
constituents of those things. I personally feel that changing the<br class="">
meaning of particles() to mean "semantic 'found' particles, maybe<br class="">
composite", and adding a new simpleParticles(), rawParticles() or<br class="">
similar is nicer (but more work) than keeping particles() as-is and<br class="">
adding some even-more-awkwardly named maybeCompositeParticles().<br class="">
<br class="">
b) implement these by adding some access to constituents to the<br class="">
Particle interface, e.g. const vector<Particle>&<br class="">
Particle::constituents(). And maybe a recursively-assembled<br class="">
Particle::rawConstituents() or simpleConstituents(): good, short &<br class="">
intuitive naming ideas welcome! Care needed to avoid object size<br class="">
blow-ups. Use these methods to implement the<br class="">
ParticleFinder::rawParticles() etc.<br class="">
<br class="">
I think this can work -- but it's not clear to me whether the<br class="">
implementation will be smooth or full of pitfalls. Probably we should<br class="">
plan for the latter. Any particular concerns or better ideas?<br class="">
<br class="">
Now we've got 2.5.0beta2 out, and the next step should be a full 2.5.0<br class="">
release. *Ideally* well before the tutorial at CERN on 14th (?) July,<br class="">
so the participants can use that and play with the new machinery. And<br class="">
I'm wondering if we can fix this issue in time for that, or should we<br class="">
put it out now for BSMers to play with and just warn to stick to using<br class="">
projections with "simple" returns for now -- which most will be happy<br class="">
to do, because BSM analyses don't usually bother with details like<br class="">
dressing their leptons. I am drifting toward pushing "full<br class="">
consistency" back to 2.6.0 (since an API change would be involved) and<br class="">
giving them something 95% useful asap. Thoughts?<br class="">
<br class="">
Cheers,<br class="">
Andy<br class="">
<br class="">
--<br class="">
Dr Andy Buckley, Lecturer / Royal Society University Research Fellow<br class="">
Particle Physics Expt Group, University of Glasgow<br class="">
_______________________________________________<br class="">
Rivet mailing list<br class="">
<a href="mailto:Rivet@projects.hepforge.org" class="">Rivet@projects.hepforge.org</a><br class="">
<<a href="mailto:Rivet@projects.hepforge.org" class="">mailto:Rivet@projects.hepforge.org</a>><<a href="mailto:Rivet@projects.hepforge.org" class="">mailto:Rivet@projects.hepforge.org</a>><br class="">
<a href="https://www.hepforge.org/lists/listinfo/rivet" class="">https://www.hepforge.org/lists/listinfo/rivet</a><br class="">
</blockquote>
<br class="">
<br class="">
<br class="">
<br class="">
—<br class="">
<br class="">
Dr. Christian Gütschow<br class="">
<br class="">
University College London<br class="">
Department of Physics and Astronomy<br class="">
Gower Street<br class="">
London WC1E 6BT<br class="">
<br class="">
> D10 Physics Building<br class="">
> +44 (0)20 7679 3775<br class="">
><a href="mailto:chris.g@cern.ch" class="">chris.g@cern.ch</a><span class="Apple-converted-space"> </span><<a href="mailto:chris.g@cern.ch" class="">mailto:chris.g@cern.ch</a>><<a href="mailto:chris.g@cern.ch" class="">mailto:chris.g@cern.ch</a>><br class="">
<br class="">
<br class="">
<br class="">
<br class="">
</blockquote>
<br class="">
<br class="">
--<br class="">
Dr Andy Buckley, Lecturer / Royal Society University Research Fellow<br class="">
Particle Physics Expt Group, University of Glasgow<br class="">
</blockquote>
<br class="">
<br class="">
<br class="">
<br class="">
—<br class="">
<br class="">
Dr. Christian Gütschow<br class="">
<br class="">
University College London<br class="">
Department of Physics and Astronomy<br class="">
Gower Street<br class="">
London WC1E 6BT<br class="">
<br class="">
> D10 Physics Building<br class="">
> +44 (0)20 7679 3775<br class="">
><span class="Apple-converted-space"> </span><a href="mailto:chris.g@cern.ch" class="">chris.g@cern.ch</a><span class="Apple-converted-space"> </span><<a href="mailto:chris.g@cern.ch" class="">mailto:chris.g@cern.ch</a>><br class="">
<br class="">
<br class="">
<br class="">
<br class="">
</blockquote>
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">--<span class="Apple-converted-space"> </span></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Dr
Andy Buckley, Lecturer / Royal Society University Research Fellow</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Particle
Physics Expt Group, University of Glasgow</span></div>
</blockquote>
</div>
<br class="">
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
<br class="Apple-interchange-newline">
<br class="">
</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
<br class="">
</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
—</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
<br class="">
</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
Dr. Christian Gütschow</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
<br class="">
</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
University College London</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
Department of Physics and Astronomy</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
Gower Street</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
London WC1E 6BT</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
<br class="">
</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
> D10 Physics Building</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
> +44 (0)20 7679 3775</div>
<div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal;" class="">
> <a href="mailto:chris.g@cern.ch" class="">chris.g@cern.ch</a></div>
</div>
<br class="Apple-interchange-newline">
</div>
<br class="Apple-interchange-newline" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<br class="Apple-interchange-newline">
</div>
</div>
</div>
</div>
<br class="">
</body>
</html>