Fork me on GitHub

Opened 10 years ago

Last modified 10 years ago

#293 new How to

Number of operators in efficiency modules

Reported by: Alvaro Lopez Owned by:
Priority: minor Milestone:
Component: Delphes code Version: Delphes 3
Keywords: Cc: laforge@…

Description

I am implementing in ATLAS delphes card some changes in the photon and electron efficiency formula to obtain a more realistic fast simulation of data. The aim was to introduce the efficiency data for the different regions in pseudorapidity and transverse momenta used in ATLAS collaboration. However, when I run my simulation, I got an error message in the log file as:

INFO: adding module ParticlePropagator ParticlePropagator
INFO: adding module Efficiency ChargedHadronTrackingEfficiency
INFO: adding module Efficiency ElectronTrackingEfficiency
INFO: adding module Efficiency MuonTrackingEfficiency
INFO: adding module MomentumSmearing ChargedHadronMomentumSmearing
INFO: adding module EnergySmearing ElectronEnergySmearing
INFO: adding module MomentumSmearing MuonMomentumSmearing
INFO: adding module Merger TrackMerger
INFO: adding module Calorimeter Calorimeter
INFO: adding module Merger EFlowMerger
INFO: adding module Efficiency PhotonEfficiency
INFO: adding module Isolation PhotonIsolation
INFO: adding module Efficiency ElectronEfficiency
INFO: adding module Isolation ElectronIsolation
INFO: adding module Efficiency MuonEfficiency
INFO: adding module Isolation MuonIsolation
INFO: adding module Merger MissingET
INFO: adding module Merger ScalarHT
INFO: adding module FastJetFinder GenJetFinder
INFO: adding module FastJetFinder FastJetFinder
INFO: adding module EnergyScale JetEnergyScale
INFO: adding module BTagging BTagging
INFO: adding module TauTagging TauTagging
INFO: adding module UniqueObjectFinder UniqueObjectFinder
INFO: adding module TreeWriter TreeWriter
INFO: initializing module Delphes
INFO: initializing module ParticlePropagator
INFO: initializing module ChargedHadronTrackingEfficiency
INFO: initializing module ElectronTrackingEfficiency
INFO: initializing module MuonTrackingEfficiency
INFO: initializing module ChargedHadronMomentumSmearing
INFO: initializing module ElectronEnergySmearing
INFO: initializing module MuonMomentumSmearing
INFO: initializing module TrackMerger
INFO: initializing module Calorimeter
INFO: initializing module EFlowMerger
INFO: initializing module PhotonEfficiency
Error in <TFormula::Compile>: Too many operators !
ERROR: Invalid formula.
Reading delphes.root
Error in <TChain::LoadTree>: Cannot find tree with name Delphes in file delphes.root
Input file contains 0 events
Exiting...

I think that this problem occurs either because I have introduced too many conditions in the efficiency module or because the syntax I used was not the correct. An example of my syntax is :

set EfficiencyFormula { (abs(eta) <= 0.6) * (pt > 10.0 && pt < 15.0) * (0.6013059) + \

(abs(eta) <= 0.6) * (pt > 15.0 && pt < 20.0) * (0.723021) + \
(abs(eta) <= 0.6) * (pt > 20.0 && pt < 25.0) * (0.8040928) + \

[.....]

}

Do you think there is a way out of this problem? Thank you in advance for your attention.

Attachments (1)

delphes_card_ATLAS_version_accurate.tcl (41.7 KB ) - added by Alvaro Lopez 10 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 by Alexandre Mertens, 10 years ago

Hello,

I just tried the few lines that you posted and it worked fine.
Can you post the full formula, so that we can reproduce the problem?

Cheers,

Alexandre

comment:2 by Michele Selvaggi, 10 years ago

Can you please attach the card you are trying to use?

by Alvaro Lopez, 10 years ago

in reply to:  2 comment:3 by Alvaro Lopez, 10 years ago

Here it is the deplhes card. These are not the good efficiencies because I am not allowed to publish them but it must serve to this purpose.

Replying to mselvaggi:

Can you please attach the card you are trying to use?

comment:4 by Michele Selvaggi, 10 years ago

Hi,

sorry for late reply.
I have an error which is different than the one you have.
It is related to the fact that you specify a pt dependent PTRatioMax isolation. You should give a float there.

set PTRatioMax 1.0

If you want to use an absolute isolation criterion, you can do something like:

set UsePTSum 1
set PTSumMax 5.0

Cheers,
Michele

Note: See TracTickets for help on using tickets.