Fork me on GitHub

Opened 9 years ago

Last modified 8 years ago

#855 new How to

How to make a long lived stau look like a muon ?

Reported by: Shankha Banerjee Owned by:
Priority: critical Milestone:
Component: Delphes code Version: Delphes 3
Keywords: Cc:

Description

Dear Experts,

This is in continuation of a previous thread : https://cp3.irmp.ucl.ac.be/projects/delphes/ticket/842

Say I have a long lived stau (stable for detector lengths) with PDG code 1000015 and I say that it will fake a muon if its \beta (p/E) is > 0.95 say.

Is there an easy way to include it in the Delphes code.

Also should I have this line in the .tcl card :

# For long lived stau
add EnergyFraction {1000015} {0.0 0.0}

in the module Calorimeter Calorimeter { } ?

I will be very grateful if you can help me with these.

Regards,

Shankha.

Change History (4)

comment:1 by Shankha Banerjee, 9 years ago

Dear Experts,

What I mean is that I want this kind of a parametrisation :

fake rate = 0; for beta < 0.95

fake rate = 1; for beta > 0.95

Thanks a lot.

I am eagerly awaiting your response.

Best regards,

Shankha.

comment:2 by Pavel Demin, 8 years ago

Please find in the following the answers to your questions from both tickets (this and #618).

Is there an easy way to include it in the Delphes code.
I could include this particle (stau) as a muon by changing the module ParticlePropagator.C.

I'd say that changing the module ParticlePropagator.C would be the easiest solution.

Also should I have this line in the .tcl card:
add EnergyFraction {1000015} {0.0 0.0}

Yes.

However, when I try to use Delphes, it just sees the particle (PID -1000015) and not the one with PID = 1000015. Even though when I form my root file, the GenParticle shows both the PIDs.

I've just done a quick test:

root [0] TDatabasePDG *p = TDatabasePDG::Instance();
root [1] TParticlePDG *a = p->GetParticle(1000015);
root [2] a->Stable()
(Int_t) 0
root [3] TParticlePDG *b = p->GetParticle(-1000015);
root [4] b->Stable()
(Int_t) 1

So, the problem is in the PDG table provided with ROOT ($ROOTSYS/etc/pdg_table.txt). Delphes uses this table to check if particle is stable or not.

To make both stau and anti-stau stable, you'll need to fix the HepMC or STDHEP (depending on what input format you're using) reader class. The files are classes/DelphesHepMCReader.cc and classes/DelphesHepMCReader.cc.

Replacing

if(fStatus == 1 && pdgParticle->Stable())

with

if(fStatus == 1)

should fix this problem.

Last edited 8 years ago by Pavel Demin (previous) (diff)

comment:3 by Shankha Banerjee, 8 years ago

Hi Pavel,

Thank you so much.

I was not sure what removing pdgParticle->Stable() would do so I just did this :

   if((fstatus == 1 && pdgParticle->Stable()) || (fstatus == 1 && pdgCode == 1000015))

Is this also correct ?

Thank you very much once again.

Best regards,

Shankha.

comment:4 by Pavel Demin, 8 years ago

Yes, your fix is correct.

Note: See TracTickets for help on using tickets.