Belle II Software  release-05-01-25
BeamSpotStandAlone.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2020 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Radek Zlebcik *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <vector>
14 #include <tuple>
15 #include <TTree.h>
16 #include <Eigen/Dense>
17 
18 //If compiled within BASF2
19 #ifdef _PACKAGE_
20 #include <tracking/calibration/Splitter.h>
21 #else
22 #include <Splitter.h>
23 #endif
24 
25 namespace Belle2 {
30  namespace BeamSpotCalib {
31 
32 
34  struct Track {
35  double d0;
36  double z0;
37  double phi0;
38  double tanlambda;
39  };
40 
42  struct Event {
43  int exp;
44  int run;
45  int evtNo;
46 
47 
48  Track mu0;
49  Track mu1;
50 
51  int nBootStrap;
52  bool isSig;
53  double t;
54 
56  void toMicroM()
57  {
58  mu0.d0 *= 1e4;
59  mu1.d0 *= 1e4;
60  mu0.z0 *= 1e4;
61  mu1.z0 *= 1e4;
62  }
63  };
64 
65 
66 
71  std::vector<Event> getEvents(TTree* tr);
72 
78  std::tuple<std::vector<Eigen::VectorXd>, std::vector<Eigen::MatrixXd>, Eigen::MatrixXd> runBeamSpotAnalysis(
79  std::vector<Event> evts,
80  const std::vector<double>& splitPoints);
81 
82 
83  }
85 }
Belle2::BeamSpotCalib::Track::z0
double z0
z position of the POCA
Definition: BeamSpotStandAlone.h:44
Belle2::BeamSpotCalib::Event::nBootStrap
int nBootStrap
random bootstrap weight (n=1 -> original sample)
Definition: BeamSpotStandAlone.h:59
Belle2::BeamSpotCalib::Event::mu0
Track mu0
track in the event
Definition: BeamSpotStandAlone.h:56
Belle2::BeamSpotCalib::Event::mu1
Track mu1
other track in the event
Definition: BeamSpotStandAlone.h:57
Belle2::BeamSpotCalib::Event
Event containing two tracks.
Definition: BeamSpotStandAlone.h:50
Belle2::BeamSpotCalib::Event::t
double t
time of event [hours]
Definition: BeamSpotStandAlone.h:61
Belle2::BeamSpotCalib::Track::tanlambda
double tanlambda
tan of angle in the z-dirrection, if zero no movement in z
Definition: BeamSpotStandAlone.h:46
Belle2::BeamSpotCalib::Event::evtNo
int evtNo
event number
Definition: BeamSpotStandAlone.h:53
Belle2::BeamSpotCalib::Track
track parameters (neglecting curvature)
Definition: BeamSpotStandAlone.h:42
Belle2::BeamSpotCalib::Event::run
int run
run number
Definition: BeamSpotStandAlone.h:52
Belle2::BeamSpotCalib::Track::d0
double d0
signed distance to the POCA in x-y plane
Definition: BeamSpotStandAlone.h:43
Belle2::BeamSpotCalib::Event::exp
int exp
experiment number
Definition: BeamSpotStandAlone.h:51
Belle2::BeamSpotCalib::Track::phi0
double phi0
angle of the track in x-y plane
Definition: BeamSpotStandAlone.h:45
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BeamSpotCalib::Event::isSig
bool isSig
is not removed by quality cuts?
Definition: BeamSpotStandAlone.h:60
Belle2::BeamSpotCalib::Event::toMicroM
void toMicroM()
from [cm] to [um]
Definition: BeamSpotStandAlone.h:64