Project
Loading...
Searching...
No Matches
AlignPointControl.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
15
16#ifndef ALICEO2_MFT_ALIGN_POINT_CONTROL_H
17#define ALICEO2_MFT_ALIGN_POINT_CONTROL_H
18
19#include <Rtypes.h>
20#include <TString.h>
22
23class TFile;
24class TTree;
25
26namespace o2
27{
28namespace mft
29{
30
32{
33 public:
35 UShort_t sensor; // sensor id
36 UShort_t layer; // layer id
37 UShort_t disk; // disk id
38 UShort_t half; // half id
39 Double_t measuredGlobalX; // cluster x, global frame (cm)
40 Double_t measuredGlobalY; // cluster y, global frame (cm)
41 Double_t measuredGlobalZ; // cluster z, global frame (cm)
42 Double_t measuredLocalX; // cluster x, local frame (cm)
43 Double_t measuredLocalY; // cluster y, local frame (cm)
44 Double_t measuredLocalZ; // cluster z, local frame (cm)
45 Double_t residualX; // track global x - cluster global x (cm)
46 Double_t residualY; // track global y - cluster global y (cm)
47 Double_t residualZ; // track global z - cluster global z (cm)
48 Double_t residualLocalX; // track local x - cluster local x (cm)
49 Double_t residualLocalY; // track local y - cluster local y (cm)
50 Double_t residualLocalZ; // track local z - cluster local z (cm)
51 Double_t recoGlobalX; // track x, global frame (cm)
52 Double_t recoGlobalY; // track y, global frame (cm)
53 Double_t recoGlobalZ; // track z, global frame (cm)
54 Double_t recoLocalX; // track x, local frame (cm)
55 Double_t recoLocalY; // track y, local frame (cm)
56 Double_t recoLocalZ; // track z, local frame (cm)
57 };
60
62 virtual ~AlignPointControl();
63
65 void setCyclicAutoSave(const long nEntries);
66
68 void setOutFileName(TString fname) { mOutFileName = fname; }
69
71 void init();
72
74 bool isInitOk() const { return mIsSuccessfulInit; }
75
78 const int iTrack = 0,
79 const bool doPrint = false);
80
82 void terminate();
83
84 protected:
85 TTree* mControlTree;
86 TFile* mControlFile;
89 TString mOutFileName;
90 TString mTreeTitle;
92
94
96};
97} // namespace mft
98} // namespace o2
99
100#endif
Compute the local and global derivatives at an alignment point (track position, cluster position)
ClassDef(AlignPointControl, 0)
void setCyclicAutoSave(const long nEntries)
Set the number of entries to be used by TTree::AutoSave()
AlignPointInfo mPointInfo
information to be written to the output TTree
virtual ~AlignPointControl()
destructor
void setOutFileName(TString fname)
choose filename
TTree * mControlTree
the ROOT TTree container
bool setControlPoint(o2::mft::AlignPointHelper *aPoint)
TFile * mControlFile
the output file
TString mTreeTitle
title of the TTree
TString mOutFileName
name of the output file that will store the TTree
void init()
init output file and tree
void fill(o2::mft::AlignPointHelper *aPoint, const int iTrack=0, const bool doPrint=false)
fill the tree from an align point
long mNEntriesAutoSave
max entries in the buffer after which TTree::AutoSave() is automatically used
bool mIsSuccessfulInit
boolean to monitor the success of the initialization
bool isInitOk() const
check if init went well
void terminate()
write tree and close output file
Container of a single alignment point and methods to fill it.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...