[Rivet] Jets in DIS

Hannes Jung hannes.jung at cern.ch
Wed Oct 19 08:22:38 BST 2011


Hi Roman & Andy

hm, taking just the frist electron might be tricky, as it is not based on physics.
What about just taking the electron which is closest in rapidity to the incoming electron ? This would be the same as your proposal, but it would also work in e+e- processes with gamma* gamma*.

Another issue is the non-negleglible pt, how large is it: 0.1 GeV,  1 or 5 GeV ? Maybe  0.1 GeV as a start could be reasonable? but still there is a transition to smaller pt...

cheers
hannes

On 19 Oct 2011, at 04:00, Roman Kogler wrote:

Hi Andy,

here is a strategy that I would suggest:
Take the first electron (or positron) in the event with status code 0 and non-negligible pt. If the status code is not available, or not safe for some event generators, the non-negligible pt alone should do. In all MCs I know, the scattered electron appears in the event record before the hadronisation and decay products. So this method should be ok.

Cheers,
  Roman



On 10/18/11 11:20, Andy Buckley wrote:
Hi Roman,

Thanks for the feedback. What do you suggest as an alternative scheme: highest-energy electron (in what frame)? What is done experimentally? Apologies for the DIS-unawareness!

Cheers,
Andy


On 17/10/11 22:51, Roman Kogler wrote:
Dear Andy,

I checked out the new Rivet version, thanks for including the boost of
the final state to the Breit frame. I'm happy to see that working.

However, there is a bug in Rivet when looking for the scattered electron
in DIS. The algorithm (DISLepton.cc) looks for the electron (or
positron) in the event with the highest value of pz. This works at low
Q2 rather well, but at high Q2 this algorithm fails. Here is why:
At HERA the +pz direction is defined to be the proton beam direction. So
the electron beam has pz=-27.6. At low Q2, where the electron is
scattered under small angles, the 'signed value' of the scattered
electron is then +pz'. However, at high Q2 the electron can be scattered
perpendicular to the beam (pz'=0) or in the forward direction (-pz'). So
if there is any other electron in the event present, which goes in the
-pz direction, it will be misidentified as the scattered electron. Below
is an example for an event generated with Q2~17000, where the scattered
electron has been misidentified and the calculated value of Q2 in Rivet
is 72.8.

Cheers,
Roman


DISLepton: searching for ID -11 with pz > -1e+09
part 0 id = -11 px = -55.7936 py = 67.9235 pz = 73.3469 E = 114.483
part 0 id = -11 signed_pz = -73.3469
---> taking 0 as outgoing lepton
part 1 id = 211 px = 4.3922 py = -5.36174 pz = 21.1347 E = 22.2426
part 2 id = 2212 px = 19.1258 py = -22.3493 pz = 85.5571 E = 90.4775
part 3 id = -2212 px = 7.27322 py = -8.24468 pz = 32.7272 E = 34.5373
part 4 id = 2112 px = -0.258489 py = 0.0192201 pz = 140.113 E = 140.116
part 5 id = 22 px = 0.0752175 py = -0.0810541 pz = 0.527222 E = 0.538693
part 6 id = -211 px = 2.95982 py = -3.164 pz = 14.1068 E = 14.7578
part 7 id = 130 px = 0.251775 py = -0.163703 pz = 183.251 E = 183.252
part 8 id = 211 px = 6.86782 py = -8.30335 pz = 33.2207 E = 34.9249
part 9 id = -211 px = 2.33043 py = -2.5695 pz = 10.0595 E = 10.6417
part 10 id = 22 px = 0.693957 py = -0.670989 pz = 3.14172 E = 3.28667
part 11 id = 22 px = 1.11994 py = -1.31727 pz = 5.41137 E = 5.68088
part 12 id = 130 px = -0.151476 py = -0.389603 pz = 18.067 E = 18.0787
part 13 id = -321 px = -0.516672 py = -0.553757 pz = 19.2324 E = 19.2536
part 14 id = 211 px = 0.0829556 py = 0.0993597 pz = 4.24924 E = 4.2535
part 15 id = 130 px = 0.375512 py = -0.621349 pz = 14.7582 E = 14.7844
part 16 id = 22 px = -0.0301481 py = -0.00922794 pz = 0.33583 E = 0.337307
part 17 id = 22 px = 0.340224 py = -0.445809 pz = 1.41281 E = 1.52004
part 18 id = 11 px = 0.075713 py = -0.141711 pz = 0.556192 E = 0.578934
part 19 id = -11 px = 0.124663 py = -0.154993 pz = 0.645015 E = 0.674987
part 19 id = -11 signed_pz = -0.645015
---> taking 19 as outgoing lepton
part 20 id = 22 px = 0.04499 py = -0.12844 pz = 0.397113 E = 0.419785
part 21 id = 22 px = 0.827752 py = -1.19367 pz = 4.91671 E = 5.1268
part 22 id = 22 px = 0.748384 py = -1.12375 pz = 4.89815 E = 5.08082
part 23 id = 22 px = -0.00267821 py = -0.00925982 pz = 0.0143985 E =
0.0173273
part 24 id = 130 px = 0.287098 py = 0.19742 pz = 17.3042 E = 17.3149
part 25 id = 130 px = 0.122298 py = -0.0634414 pz = 25.2863 E = 25.2916
part 26 id = 22 px = 0.0347235 py = 0.144282 pz = 1.65602 E = 1.66266
part 27 id = 22 px = -0.0248541 py = 0.146226 pz = 3.67157 E = 3.67456
part 28 id = 211 px = 0.954048 py = -0.963005 pz = 3.13684 E = 3.42006
part 29 id = 211 px = 0.235199 py = -0.343671 pz = 1.4502 E = 1.51525
part 30 id = -12 px = 1.57995 py = -1.37946 pz = 7.29499 E = 7.59052
part 31 id = 11 px = 0.471629 py = -0.856397 pz = 2.71535 E = 2.88599
part 32 id = 211 px = -0.0294085 py = -0.547087 pz = 0.758253 E = 0.94583
part 33 id = -211 px = 0.0861909 py = -0.0196154 pz = 0.452828 E = 0.482023
part 34 id = 211 px = 0.225543 py = -0.161993 pz = 0.915438 E = 0.966756
part 35 id = -211 px = 0.571015 py = -0.738361 pz = 5.30456 E = 5.38786
part 36 id = 211 px = 0.129393 py = -0.267621 pz = 1.02406 E = 1.07542
part 37 id = -211 px = 1.77415 py = -1.73558 pz = 7.05777 E = 7.48274
part 38 id = 22 px = 0.205595 py = -0.0964995 pz = 1.00644 E = 1.03175
part 39 id = 22 px = -0.00465838 py = -0.055959 pz = 0.356084 E = 0.360484
part 40 id = 22 px = 0.567172 py = -0.788086 pz = 3.53189 E = 3.66293
part 41 id = 22 px = 0.406857 py = -0.734593 pz = 2.77624 E = 2.90046
part 42 id = 211 px = 0.374462 py = -0.325563 pz = 2.74971 E = 2.7976
part 43 id = -211 px = 0.206282 py = -0.339635 pz = 0.964825 E = 1.05274
part 44 id = -211 px = 1.22403 py = -0.939285 pz = 24.7002 E = 24.7488
part 45 id = 211 px = -0.401421 py = 0.084246 pz = 17.7685 E = 17.7737
part 46 id = 22 px = 0.657991 py = -0.669357 pz = 29.0299 E = 29.0451
part 47 id = 22 px = 0.30748 py = 0.0117005 pz = 5.16715 E = 5.17631
part 48 id = 22 px = -0.0346924 py = -0.117068 pz = 6.57012 E = 6.57125
part 49 id = 321 px = -0.74251 py = -0.217304 pz = 43.1924 E = 43.2021
part 50 id = -321 px = -0.140918 py = -0.269146 pz = 4.47808 E = 4.51544
fulfilled phase space cuts, Q2 = 72.8641 y = 0.999457 weight = 51.0074
scat. elec: E = 0.674987 theta = 0.299122

Here is the code that I used the generate this output. It's the code of
DISLepton.cc with some output statements added.

cout << "DISLepton: searching for ID " << id << " with pz > " << pzMax
<< endl;
const FinalState& fs = applyProjection<FinalState>(e, "FS");
int ipart = 0;
foreach (const Particle& p, fs.particles()) {

cout << "part " << ipart << " id = " << p.pdgId()
<< " px = " << p.momentum().px()
<< " py = " << p.momentum().py()
<< " pz = " << p.momentum().pz()
<< " E = " << p.momentum().E() << endl;
double pz = _sign * p.momentum().pz();
if(p.pdgId() == id && pz > pzMax){
cout << "part " << ipart << " id = " << p.pdgId() << " signed_pz = " <<
_sign * p.momentum().pz() << endl;
cout << " ---> taking " << ipart << " as outgoing lepton " << endl;
_outgoing = p;
pzMax = pz;
}
++ipart;
}




On 8/15/11 10:17, Andy Buckley wrote:
Hi Roman,

I'm no DIS expert, but I think that the FinalStateHCM should do
something like that -- is it not acceptable?

If that is not appropriate, you don't absolutely need to use the
"central registry" aspect of the projection system: you can make your
list of particles, boosted and filtered however you want, in the
analyze() method, and then use the calc() method of a local JetAlg
object to make the jets. Let us know if you need more help with this
direction: we've only recently started providing this sort of access
to projection features without having to register the projections --
sometimes it's necessary, but the normal docs don't describe it!

Cheers,
Andy


On 15/08/11 18:08, Roman Kogler wrote:
Dear Rivet authors and developers,

I'm trying to implement a new jet analysis in Rivet. The data come from
H1. The analysis is not published yet, but we are close to the
publication. It's a measurement of inclusive jet, dijet and trijet cross
sections in DIS at high Q^2 (for more information have a look at
H1prelim-11-032).

In this jet analysis jets are found in the Breit frame and I could not
find a way in Rivet how to do this. What I need is to boost the full
event to the Breit frame before the jet finding is performed. FastJet
should then be applied to all final state particles in the Breit frame.

Is there an elegant solution to do this in Rivet?

Thanks,
Roman







_______________________________________________
Rivet mailing list
Rivet at projects.hepforge.org<mailto:Rivet at projects.hepforge.org>
http://www.hepforge.org/lists/listinfo/rivet


***********************************************************************
Hannes Jung
Email: Hannes.Jung at cern.ch<mailto:Hannes.Jung at cern.ch>
mobile :+49 40 8998 93741
http://www.desy.de/~jung
Tel: +49 (0) 40 8998 3741 (DESY)
Tel: +41 22 76 62602 (CERN)
CERN - PH
42-2-033
CH-1211 Genève 23
Switzerland
***********************************************************************




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.hepforge.org/lists-archive/rivet/attachments/20111019/baa076ca/attachment.html>


More information about the Rivet mailing list