[Rivet] thrustMinor returns zero while calculating transverse thrust

Andy Buckley andy.buckley at cern.ch
Thu 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