|
[Rivet] thrustMinor returns zero while calculating transverse thrustAndy Buckley andy.buckley at cern.chThu Nov 21 16:40:53 GMT 2013
I'm confused: in the 3D thrust, the dominant eigenvector is called thrust, and the second and third are major and minor respectively. Is that different in the transverse thrust, i.e. the 1st (of 2) is the major, and the 2nd is minor? Apologies, I didn't understand that when you mentioned it to me earlier Deepak: of course the third eigenvector is zero when the whole 3D event shape is compressed on to a plane! Consider a TranverseThrust as suggested. I'm not convinced that it adds much, but I won't object to a patch / if someone with commit access adds it to the 2.0.x branch ;-) Andy On 21/11/13 17:05, Holger Schulz wrote: > On 21/11/13 16:59, Deepak Kar wrote: >> Hi Holger, >> >> Thanks, that is very helpful to know. Since many of us now calculating >> transverse quantities, may be it will be useful to add these methods >> more clearly? > Hmm, I guess so. Right now the 3D thrust is abused IIRC to > avoid code-duplication. > > These lines: > > // Transverse Thrust calculation requires p_z to be set to 0 > Vector3 mom = p.momentum().vector3(); > mom.setZ(0.0); > momenta.push_back(mom); > > Are essentially a hack. > > At transverse Thrust projection could be introduced, will suggest this > to Andy. > > Holger > >> >> Cheers, >> Deepak >> >> On Thu, Nov 21, 2013 at 4:50 PM, Holger Schulz >> <hschulz at physik.hu-berlin.de> wrote: >>> Hi Deepak, >>> >>> in the transverse case you get Thrust minor by asking >>> the thrust projection for major: >>> >>> double minor = thrust.thrustMajor(); >>> >>> Cheers, >>> Holger >>> >>> On 21/11/13 16:39, Deepak Kar wrote: >>>> Hi, >>>> >>>> We are trying to finalize the Rivet analysis for arXiv:1207.6915 >>>> (ATLAS charged particle event shape). >>>> A previous version of the data values is already in HepData, which >>>> needs an update (more [lots were addded, systematics reduced following >>>> referee review). Also a previous version of the analysis was written >>>> (but never validated), but it seemed to work. However, with rivet >>>> 1.8.3, thrustMinor returns zero, however thrustMajor gives non-zero >>>> values. The relevant part of the code: >>>> >>>> >>>> // Loop over particles >>>> foreach (const Particle& p, particles500) { >>>> num500 += 1; >>>> ptSum500 += p.momentum().pT()/GeV; >>>> >>>> // Transverse Thrust calculation requires p_z to be set to 0 >>>> Vector3 mom = p.momentum().vector3(); >>>> mom.setZ(0.0); >>>> momenta.push_back(mom); >>>> } >>>> >>>> >>>> // Actual Thrust calculation >>>> Thrust thrust; >>>> thrust.calc(momenta); >>>> >>>> const double T = 1.0 - thrust.thrust(); >>>> const double TM = thrust.thrustMinor(); >>>> >>>> >>>> We will convert the code to 2.0.x once it is fixed. >>>> >>>> Thanks, >>>> Deepak >>>> >> >> > > _______________________________________________ > Rivet mailing list > Rivet at projects.hepforge.org > http://www.hepforge.org/lists/listinfo/rivet > -- Dr Andy Buckley, Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow / PH Dept, CERN
More information about the Rivet mailing list |