Fork me on GitHub

source: git/modules/PdgCodeFilter.h@ 8497ac6

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 8497ac6 was fa42514, checked in by Chase Shimmin <cshimmin@…>, 9 years ago

Add Invert and Status options to PdgCodeFilter

It is sometimes useful to output the truth record of a single
(non-stable) particle species, for example when considering an
exotic heavy resonance. Presently the only way to do so is to
output the entire Delphes/allParticles array, which is inefficient.

This patch adds the option InvertPdg to PdgCodeFilter, which causes
the PdgCodes specified to be *added* to the output array, rather
than removed. It also adds the options RequireStatus and Status,
for additional filtering based on the MC record status. If
RequireStatus is true, than only particles matching Status are
added to the output array.

This patch should be backwards compatible with existing usages of
PdgCodeFilter.

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*
2 * Delphes: a framework for fast simulation of a generic collider experiment
3 * Copyright (C) 2012-2014 Universite catholique de Louvain (UCL), Belgium
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19//------------------------------------------------------------------------------
20
21#ifndef PidFilter_h
22#define PidFilter_h
23
24/** \class Efficiency
25 *
26 * Removes particles with specific pdg codes
27 *
28 * \author M. Selvaggi
29 *
30 */
31
32#include "classes/DelphesModule.h"
33#include <vector>
34
35class TIterator;
36class TObjArray;
37
38class PdgCodeFilter: public DelphesModule
39{
40public:
41
42 PdgCodeFilter();
43 ~PdgCodeFilter();
44
45 void Init();
46 void Process();
47 void Finish();
48
49private:
50
51 Double_t fPTMin; //!
52 Bool_t fInvertPdg; //!
53 Bool_t fRequireStatus; //!
54 Int_t fStatus; //!
55
56 std::vector<Int_t> fPdgCodes;
57
58 TIterator *fItInputArray; //!
59
60 const TObjArray *fInputArray; //!
61
62 TObjArray *fOutputArray; //!
63
64 ClassDef(PdgCodeFilter, 1)
65};
66
67#endif
Note: See TracBrowser for help on using the repository browser.