Belle II Software  release-08-01-10
Selector.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include<analysis/dataobjects/Particle.h>
12 #include<vector>
13 
14 namespace Belle2 {
19  namespace CurlTagger {
20 
22  class Selector {
23 
24  public:
26  Selector() {};
27 
29  virtual ~Selector() {};
30 
34  virtual float getResponse(Particle*, Particle*) = 0;
35 
37  virtual std::vector<float> getVariables(Particle*, Particle*) = 0;
38 
40  virtual float getOptimalResponseCut() {return 0.5;};
41 
43  virtual void initialize() {};
44 
46  virtual void finalize() {};
47 
49  virtual void collectTrainingInfo(Particle*, Particle*) {};
50  }; //class
51  } // CurlTagger namespace
53 } // Belle 2 namespace
54 
Abstract base class for curl track selectors.
Definition: Selector.h:22
virtual ~Selector()
Destructor.
Definition: Selector.h:29
Selector()
Constructor.
Definition: Selector.h:26
virtual float getResponse(Particle *, Particle *)=0
returns selector response after comparing the two particles higher values indicate a higher certainty...
virtual void finalize()
finalise selector if needed
Definition: Selector.h:46
virtual void initialize()
initialise selector if needed
Definition: Selector.h:43
virtual void collectTrainingInfo(Particle *, Particle *)
collect information for training for mva or other selectors
Definition: Selector.h:49
virtual float getOptimalResponseCut()
returns optimal cut to use with selector
Definition: Selector.h:40
virtual std::vector< float > getVariables(Particle *, Particle *)=0
returns vector of variables used by the selector
Class to store reconstructed particles.
Definition: Particle.h:75
Abstract base class for different kinds of events.