PandaRoot
PndFsmEmcPid.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: FsmEmcBarrel.cc,v 1.11 2007/05/24 08:07:40 klausg Exp $
16 //
17 // Description:
18 // Class FsmEmcPid
19 //
20 // Implementation of the PID info for EMCs
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 // Klaus Goetzen Original Author
27 //
28 // Copyright Information:
29 // Copyright (C) 2014 GSI
30 //
31 //------------------------------------------------------------------------
32 
33 #ifndef PNDFSMEMCPID_H
34 #define PNDFSMEMCPID_H
35 
36 //----------------------
37 // Base Class Headers --
38 //----------------------
39 
40 //-------------------------------
41 // Collaborating class Headers --
42 //-------------------------------
43 #include <iosfwd>
44 #include "ArgList.h"
45 #include "PndFsmAbsDet.h"
46 #include "TH2F.h"
47 
48 //--------------------------------------------
49 // Collaborating class forward declarations --
50 // -------------------------------------------
51 class PndFsmTrack;
52 class PndFsmResponse;
53 
54 class PndFsmEmcPid : public PndFsmAbsDet {
55  public:
56  //--------------------
57  // Public interface --
58  //--------------------
59 
60  //
61  // Constructors
62  //
63 
65  PndFsmEmcPid();
66  PndFsmEmcPid(ArgList &par);
69  virtual ~PndFsmEmcPid();
70 
75  virtual PndFsmResponse *respond(PndFsmTrack *t);
76 
77  private:
78  bool detected(PndFsmTrack *t) const;
79 
80  void initParameters();
81  void print(std::ostream &o);
82  bool setParameter(std::string &name, double value);
83 
84  bool readParameters();
85 
86  //
87  // Parameters
88  //
89  TH2F *_emcPidPdf[6];
90 
91  double _pmin; // momentum threshold
92  double _ptmin; // transverse momentum threshold
93  double _thtMin; // polar angle coverage min angle
94  double _thtMax; // polar angle coverage max angle
95  double _phiMin; // angle coverage min
96  double _phiMax; // angle coverage max
97 
98  std::string _parFileName; // this file contains root histograms with the EMC pdfs
99 };
100 
101 #endif
std::list< std::string > ArgList
Definition: ArgList.h:19
virtual PndFsmResponse * respond(PndFsmTrack *t)
virtual ~PndFsmEmcPid()