Fork me on GitHub

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#48 closed Bug (fixed)

CalorTower.Phi

Reported by: hwolfe Owned by:
Priority: major Milestone:
Component: Delphes code Version: 1.9
Keywords: CaloTower, TOWER_dphi Cc:

Description

Hello,

cat Delphes/VERSION: 2.0.0

I'm using Delphes 2.0.0 with MG5-1.4.5+ME+Phythia.

In delphes_card.dat, I'm setting
==========================================================================
# Calorimetric towers
TOWER_number 35
TOWER_eta_edges 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5
TOWER_dphi 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0 30.0 30.0 30.0 30.0
==========================================================================

I would expect that this produces wedges 15 degrees in width, with the first being [0,15], and the last being [345,0]. What I'm seeing is these tower centers:

Analysis->Scan("CaloTower.Phi","abs(CaloTower.Eta) < .5")

-172.5,-157.5,-142.5,-127.5,-112.5,-97.5,-82.5-67.5,-52.5,-37.5,-22.5,-7.5,
7.5,22.5,37.5,52.5,67.5,82.5,97.5,112.5,127.5,142.5,157.5,165,

Note that the distance between the last two tower centers is (165-157.5)=7.5 degrees, while the distance between all other towers is 15. The distance between the last and first is 22.5. Why is this tower center not set to 172.5?

I've tried several values for TOWER_dphi, even non-divisors of 360, and all produce this effect.

Am I doing something wrong?

Change History (4)

comment:1 by favereau, 12 years ago

Hi,

After a closer look, it seems there is a bug around line 1537 in src/SmearUtil.cc . In fact the few lines computing the middle of calotowers in phi seem awkward.

As this code is now community-based, I encourage you to suggest a patch with some comments. I will then test it and include it in the working version.

cheers,

Jerome

comment:2 by favereau, 12 years ago

In fact, you can change line 1544 from:

if (phi > pi-dphi) iPhi = pi-dphi;

to

if (phi > pi-dphi) iPhi = pi-dphi/2.;

Since it is supposed to give the center of the cell. The lines of code above this line are not efficient but should give the right answer. The solution above is not meant to be final as it gets crazy if one uses non standard values of dphi.

comment:3 by favereau, 12 years ago

Resolution: fixed
Status: newclosed

We are now working on optimisations of the code. This part is one of the most buggy and resource-consuming ones, so it will be rewritten in the next release.

Since your problem should be solved, please follow discussion on ticket #49

comment:4 by anonymous, 12 years ago

I'm using Delphes 2.0.0 with MG5 Joomla 3

Note: See TracTickets for help on using tickets.