Belle II Software  release-06-02-00
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 
32  virtual float getResponse(Particle*, Particle*) = 0;
33 
35  virtual std::vector<float> getVariables(Particle*, Particle*) = 0;
36 
38  virtual void initialize() {};
39 
41  virtual void finalize() {};
42 
44  virtual void collectTrainingInfo(Particle*, Particle*) {};
45  }; //class
46  } // CurlTagger namespace
48 } // Belle 2 namespace
49 
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 that two particles are actual from same mc/data particle
virtual void finalize()
finalise selector if needed
Definition: Selector.h:41
virtual void initialize()
initialise selector if needed
Definition: Selector.h:38
virtual void collectTrainingInfo(Particle *, Particle *)
collect information for training for mva or other selectors
Definition: Selector.h:44
virtual std::vector< float > getVariables(Particle *, Particle *)=0
returns vector of variables used by the selector
Class to store reconstructed particles.
Definition: Particle.h:74
Abstract base class for different kinds of events.