BmnRoot
Loading...
Searching...
No Matches
BmnRecoTools.h
Go to the documentation of this file.
1
2#ifndef BMNRECOTOOLS_H
3#define BMNRECOTOOLS_H
4
5#include <vector>
6#include <regex>
7#include <dirent.h>
8#include <math.h>
9
10#include <TClonesArray.h>
11#include <TBranch.h>
12#include <TLeaf.h>
13#include <TChain.h>
14#include <TGeoTrack.h>
15#include <TFile.h>
16#include <TH2F.h>
17#include <TCanvas.h>
18#include <TStyle.h>
19
20#include <TCutG.h>
21
22#include <FairMCEventHeader.h>
23#include <DigiRunHeader.h>
24
25#include <CbmMCTrack.h>
26#include <CbmStsPoint.h>
27#include <BmnSiliconPoint.h>
28#include <BmnCSCPoint.h>
29#include <BmnMath.h>
30#include <BmnEventHeader.h>
31#include <DstEventHeader.h>
32#include <BmnSiliconDigit.h>
33#include <BmnGemStripDigit.h>
34#include <BmnCSCDigit.h>
35#include <BmnSiliconHit.h>
36#include <BmnGemStripHit.h>
37#include <BmnCSCHit.h>
38#include <BmnSiliconStationSet.h>
39#include <BmnGemStripStationSet.h>
40#include <BmnGlobalTrack.h>
41
42using namespace std;
43using namespace TMath;
44
50class BmnRecoTools {
51public:
52
54 virtual ~BmnRecoTools();
55
56 static Bool_t IsReconstructable(
57 TClonesArray* tracks, TClonesArray* gemPoints, TClonesArray* silPoints, TClonesArray* cscPoints,
58 Int_t code, vector<Int_t> &outCodes, Int_t minHits = 4);
59
60 static vector<TString> GetFileVecFromDir(TString dir);
61
62 static void ShowHitMakerEff(TClonesArray * hits, BmnSiliconStationSet set);
63
64 static void FillSetStsPoints(
65 TClonesArray* pts,
67 // vector<TH2* > &hitVec);
68 vector<vector<vector<TH2* > > > &hitVec);
69
70 static void FillSetStsHits(
71 TClonesArray* pts, TClonesArray* hits,
73 // vector<TH2* > &hitVec,
74 // vector<TH1D* > &hrx,
75 // vector<TH1D* > &hry);
76 vector<vector<vector<TH2* > > > &hitVec);
77 static TCutG* Ellipse2CutG(
78 TString name,
79 Double_t x, Double_t y, Double_t rx, Double_t ry = -1.0,
80 Double_t theta = 0.0);
82 TTree *tree, TClonesArray *ar,
83 TTree *treeDST = nullptr,
84 TClonesArray *gemHits = nullptr,
85 TClonesArray *gemTracks = nullptr,
86 TClonesArray *tracks = nullptr,
87 Double_t lowThr = 0,
88 Int_t ClusterSizeThr = 0,
89 Int_t nBins = 100000);
90 static TF1* GetRescaleFunc(TString name, TF1 *mc, TF1 *ex);
91
92
93private:
94
95
96 // ClassDef(BmnRecoTools, 1);
97};
98
99#endif /* BMNRECOTOOLS_H */
100
virtual ~BmnRecoTools()
static vector< TString > GetFileVecFromDir(TString dir)
static void FillSetStsHits(TClonesArray *pts, TClonesArray *hits, BmnGemStripStationSet *set, vector< vector< vector< TH2 * > > > &hitVec)
static Bool_t IsReconstructable(TClonesArray *tracks, TClonesArray *gemPoints, TClonesArray *silPoints, TClonesArray *cscPoints, Int_t code, vector< Int_t > &outCodes, Int_t minHits=4)
static TCutG * Ellipse2CutG(TString name, Double_t x, Double_t y, Double_t rx, Double_t ry=-1.0, Double_t theta=0.0)
static TF1 * GetRescaleFunc(TString name, TF1 *mc, TF1 *ex)
static TF1 * GetSignalDistribution(TTree *tree, TClonesArray *ar, TTree *treeDST=nullptr, TClonesArray *gemHits=nullptr, TClonesArray *gemTracks=nullptr, TClonesArray *tracks=nullptr, Double_t lowThr=0, Int_t ClusterSizeThr=0, Int_t nBins=100000)
static void FillSetStsPoints(TClonesArray *pts, BmnGemStripStationSet *set, vector< vector< vector< TH2 * > > > &hitVec)
static void ShowHitMakerEff(TClonesArray *hits, BmnSiliconStationSet set)
STL namespace.