26 m_h_eta =
new TH1D(std::string(
m_name+
"-eta").c_str(), std::string(
m_name+
" eta distribution").c_str(), 100, -3, 3);
27 m_h_phi =
new TH1D(std::string(
m_name+
"-phi").c_str(), std::string(
m_name+
" phi distribution").c_str(), 100, -3.15, 3.15);
28 m_h_z0 =
new TH1D(std::string(
m_name+
"-z0").c_str(), std::string(
m_name+
" z0 distribution").c_str(), 100, -200.0, 200.0);
29 m_h_d0 =
new TH1D(std::string(
m_name+
"-d0").c_str(), std::string(
m_name+
" d0 distribution").c_str(), 100, -5.0, 5.0);
30 m_h_pT =
new TH1D(std::string(
m_name+
"-pT").c_str(), std::string(
m_name+
" pT distribution").c_str(), 100, -10000, 10000);
31 m_h_chi2 =
new TH1D(std::string(
m_name+
"-chi2").c_str(), std::string(
m_name+
" chi2 distribution").c_str(), 1000, -10, 990);
59 m_h_etaphi =
new TH2D(std::string(
m_name+
"-etaphi").c_str(), std::string(
m_name+
" etaphi").c_str(), 100, -3.0, 3.0, 100, -3.15, 3.15);
60 m_h_etapatt =
new TH2D(std::string(
m_name+
"-etapatt").c_str(), std::string(
m_name+
" etapatt").c_str(), 19, -0.5, 18.5, 100, -3.0, 3.0);
61 m_h_phipatt =
new TH2D(std::string(
m_name+
"-phipatt").c_str(), std::string(
m_name+
" phipatt").c_str(), 19, -0.5, 18.5, 100, -3.15, 3.15);
76 const std::vector<TIDA::Track*>& testTracks,
81 int mainAuthor=-1;
int countMain=0;
82 int testAuthor=-1;
int countTest=0;
83 std::vector<TIDA::Track*>::const_iterator
test, testEnd=testTracks.end();
86 if(mainAuthor==-1) mainAuthor=(*test)->author();
88 if(testAuthor==-1&&((*test)->author()!=mainAuthor)) testAuthor=(*test)->author();
90 if((*test)->author()==mainAuthor) countMain++;
91 if((*test)->author()==testAuthor) countTest++;
95 if(testAuthor<mainAuthor) {
100 if(mainAuthor==-1 || testAuthor==-1)
return;
103 std::vector<TIDA::Track*>::const_iterator
test2, test2End=testTracks.end();
104 std::vector<TIDA::Track*>::const_iterator
ref, refEnd=referenceTracks.end();
108 if(fabs((*test)->pT())<2000)
continue;
109 if(fabs((*test)->eta())>1.5)
continue;
112 if((*test)->author()!=mainAuthor)
continue;
115 double testEta = (*test)->eta();
116 double testPhi =
phi((*test)->phi());
117 double testZ0 = (*test)->z0();
118 double testD0 = (*test)->a0();
119 double testPT = (*test)->pT();
120 double testChi2 = (*test)->chi2();
123 double testBlay = (*test)->bLayerHits();
124 double testPixel = (*test)->pixelHits();
125 double testSct = (*test)->sctHits();
126 double testSilicon = (*test)->siHits();
127 double testStraw = (*test)->strawHits();
128 double testTr = (*test)->trHits();
130 unsigned int testPattern = (*test)->hitPattern();
133 bool matchOffline=
false;
134 bool matchOnline=
false;
137 for(
ref=referenceTracks.begin();
ref!=refEnd; ++
ref){
139 double refEta = (*ref)->eta();
140 double refPhi =
phi((*ref)->phi());
142 if(
deltaR(testEta, refEta, testPhi, refPhi)<0.05) matchOffline=
true;
144 if(!matchOffline)
continue;
149 if((*test2)->author()!=testAuthor)
continue;
151 double test2Eta = (*test2)->eta();
152 double test2Phi =
phi((*test2)->phi());
154 if(
deltaR(testEta, test2Eta, testPhi, test2Phi)<0.05) matchOnline=
true;
159 std::cout <<
"MISSING TRACK FOUND!" << std::endl;
180 for(
int i=0;
i<19;
i++) {
181 if((testPattern&(
int)
pow(2,
i))!=0) {