Belle II Software development
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
14namespace Belle2 {
19 namespace CurlTagger {
20
22 class Selector {
23
24 public:
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
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.