PandaRoot
PndFsmSimplePid.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //--------------------------------------------------------------------------
14 // File and Version Information:
15 // $Id: PndFsmSimplePid.h $
16 //
17 // Description:
18 // Class PndFsmSimplePid
19 //
20 // Implementation of the Montecarlo true PID for the Fast Sim Detectors
21 //
22 // This software was developed for the PANDA collaboration. If you
23 // use all or part of it, please give an appropriate acknowledgement.
24 //
25 // Author List:
26 // Ralf Kliemt Original Author
27 //
28 // Copyright Information:
29 // Copyright (C) 2023 Ruhr-Universität Bochum
30 //
31 //------------------------------------------------------------------------
32 
33 #ifndef PNDFSMSIMPLEPID_H
34 #define PNDFSMSIMPLEPID_H
35 
36 //----------------------
37 // Base Class Headers --
38 //----------------------
39 
40 //-------------------------------
41 // Collaborating class Headers --
42 //-------------------------------
43 #include <TMath.h>
44 #include <iosfwd>
45 #include "ArgList.h"
46 #include "PndFsmAbsDet.h"
47 
48 //--------------------------------------------
49 // Collaborating class forward declarations --
50 // -------------------------------------------
51 class PndFsmTrack;
52 class PndFsmResponse;
53 
54 class PndFsmSimplePid : public PndFsmAbsDet {
55  public:
56  //--------------------
57  // Public interface --
58  //--------------------
59 
60  //
61  // Constructors
62  //
63 
69  virtual ~PndFsmSimplePid();
70 
75  virtual PndFsmResponse *respond(PndFsmTrack *t);
76 
77  private:
78  bool detected(PndFsmTrack *t) const;
79  void initParameters();
80  void print(std::ostream &o);
81  bool setParameter(std::string &name, double value);
82  bool readParameters();
83 
84  double _effE;
85  double _effMu;
86  double _effPi;
87  double _effK;
88  double _effP;
89 
90  double _pidE;
91  double _pidMu;
92  double _pidPi;
93  double _pidK;
94  double _pidP;
95 
96  double _pidNoE;
97  double _pidNoMu;
98  double _pidNoPi;
99  double _pidNoK;
100  double _pidNoP;
101 
102  double _thtMin;
103  double _thtMax;
104  double _pmin;
105  double _pmax;
106  double _ptmin;
107 };
108 
109 #endif
std::list< std::string > ArgList
Definition: ArgList.h:19
virtual PndFsmResponse * respond(PndFsmTrack *t)
virtual ~PndFsmSimplePid()