From 480fd0e7d496b0fb3f4a8dc0bc1e8fbe1deae846 Mon Sep 17 00:00:00 2001 From: Hideki Shimizu Date: Wed, 22 Jan 2020 12:21:45 +0900 Subject: [PATCH] [debug] correct invalid time stamp --- .gitignore | 1 + include/TSMerger.h | 40 +++++++----- include/{ts_object.h => TSObject.h} | 0 include/{ts_tree_object.h => TSTreeObject.h} | 10 ++- include/classdef.h | 6 ++ include/print.h | 5 ++ lib/Dict_rdict.pcm | Bin 2029 -> 2234 bytes lib/libclass.so | Bin 80180 -> 80180 bytes make_dict.py | 5 -- makefile | 2 +- src/main.cpp | 62 +++++++++++++++---- 11 files changed, 97 insertions(+), 34 deletions(-) rename include/{ts_object.h => TSObject.h} (100%) rename include/{ts_tree_object.h => TSTreeObject.h} (92%) diff --git a/.gitignore b/.gitignore index 084a2be..8c6a4dd 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ objs run *.root dict/* +tmp diff --git a/include/TSMerger.h b/include/TSMerger.h index 0b52d05..afb200d 100644 --- a/include/TSMerger.h +++ b/include/TSMerger.h @@ -6,6 +6,9 @@ #include #include + +#include "Print.h" + #include #include #include @@ -46,9 +49,9 @@ class TSMerger while ( ! obj1.end() || ! obj2.end() ) { if ((obj1.getTimeStamp() > obj2.getTimeStamp() || obj1.end()) && !obj2.end()) { ++obj2; - obj1.set_null(); + obj1.unset(); } else if ((obj1.getTimeStamp() < obj2.getTimeStamp() || obj2.end()) && !obj1.end()) { - obj2.set_null(); + obj2.unset(); ++obj1; } else if ( !obj1.end() && !obj2.end()) { ++obj1; @@ -71,9 +74,9 @@ class TSMerger while ( ! obj1.end() || ! obj2.end() ) { if ((obj1.getTimeStamp() > obj2.getTimeStamp() || obj1.end()) && !obj2.end()) { ++obj2; - obj1.set_null(); + obj1.unset(); } else if ((obj1.getTimeStamp() < obj2.getTimeStamp() || obj2.end()) && !obj1.end()) { - obj2.set_null(); + obj2.unset(); ++obj1; } else if ( !obj1.end() && !obj2.end()) { ++obj1; @@ -100,7 +103,7 @@ class TSObjectMerger TFile* output_file = nullptr; TTree* output = nullptr; - std::string branch_name = "tree"; + std::string branch_name = "merged"; public : TSObjectMerger( const Object1 &t1, const Object2 &t2 ){ @@ -131,24 +134,31 @@ class TSObjectMerger */ template void merge(TSObjectMergerCondition condition) { - bool younger = 0; obj1.reset(); obj2.reset(); while ( ! obj1.end() || ! obj2.end() ) { - if ((obj1.getTimeStamp() > obj2.getTimeStamp() || obj1.end()) && !obj2.end()) { + if ((obj1.getTimeStamp() > obj2.getTimeStamp() || obj1.end() ) && !obj2.end()) { + obj1.unset(); + obj2.set(); + if ( condition.wonnow(*obj1.get(), *obj2.get(), obj3) ) + output->Fill(); ++obj2; - obj1.set_null(); - younger = 1; - } else if ((obj1.getTimeStamp() < obj2.getTimeStamp() || obj2.end()) && !obj1.end()) { - obj2.set_null(); + } else if ((obj1.getTimeStamp() < obj2.getTimeStamp() || obj2.end() ) && !obj1.end()) { + obj2.unset(); + obj1.set(); + if ( condition.wonnow(*obj1.get(), *obj2.get(), obj3) ) + output->Fill(); ++obj1; - younger = 0; - } else if ( !obj1.end() && !obj2.end()) { + } else if ( obj1.getTimeStamp() == obj2.getTimeStamp() && !obj1.end() && !obj2.end()) { + obj1.set(); + obj2.set(); + if ( condition.wonnow(*obj1.get(), *obj2.get(), obj3) ) + output->Fill(); ++obj1; ++obj2; } - if ( condition.wonnow(*obj1.get(), *obj2.get(), obj3, younger) ) - output->Fill(); + //if ( condition.wonnow(*obj1.get(), *obj2.get(), obj3) ) + // output->Fill(); } std::cout << "TSObjectMerger::Notes. Merge completed." << std::endl; output->Write(); diff --git a/include/ts_object.h b/include/TSObject.h similarity index 100% rename from include/ts_object.h rename to include/TSObject.h diff --git a/include/ts_tree_object.h b/include/TSTreeObject.h similarity index 92% rename from include/ts_tree_object.h rename to include/TSTreeObject.h index 6047092..b683443 100644 --- a/include/ts_tree_object.h +++ b/include/TSTreeObject.h @@ -1,7 +1,7 @@ #ifndef TS_TREE_OBJECT_H #define TS_TREE_OBJECT_H -#include "ts_object.h" +#include "TSObject.h" template class TSTreeObject : public TSObject @@ -27,10 +27,16 @@ class TSTreeObject : public TSObject unsigned long long getTimeStamp() const { return ts_obj->ts; } T* get() const { return ts_obj; } - void set_null() { + + void unset() { ts_obj->set_null(); ts_obj->status = false; } + void set() { + ts_obj->status = true; + } + + void reset() { i=0; fTree->GetEntry(i); } Bool_t end() { return !(i < n); } Bool_t begin() { return i == 0; } diff --git a/include/classdef.h b/include/classdef.h index 1ca123d..d759677 100644 --- a/include/classdef.h +++ b/include/classdef.h @@ -55,8 +55,14 @@ class MergedData : public TObject public : ULong64_t ts; + ULong64_t o1ts, o2ts; Double_t x, y; + Double_t xx, yy; Int_t l, m, n; + + Bool_t o1, o2; + + UShort_t id = 0; Bool_t status = 0; ClassDef(MergedData, 1); diff --git a/include/print.h b/include/print.h index 335b466..74a7be6 100644 --- a/include/print.h +++ b/include/print.h @@ -1,3 +1,6 @@ +#ifndef PRINT_H +#define PRINT_H + #include #include #include @@ -34,3 +37,5 @@ template void print(Head&& head, Tail&&... tail) { cout << head << " "; print(forward(tail)...); } + +#endif diff --git a/lib/Dict_rdict.pcm b/lib/Dict_rdict.pcm index aa80a9e34c13761d32222168209009f50cee7ac0..411888e589ded27b0585a54d57fbd85188c48824 100644 GIT binary patch delta 1634 zcmZ8hdpOf=82(|5Eg@OTNOC?@PUV;!)2HT8Y7PrIQyXhFwK0*ir8PxXT%wp^4p}t{ zE7Wp`Fe0a{laL}E9KKn9^nJb8b-(ZXJlB0c_j|p6+|x2_IWsHbqf^Tz%t_t{C09X!8w`jM=|gs4lssiue+(ifHhyu` z0rm8QK?V~qjwoeg-UUDP@&58CjW4pf4z-ur=9y6^6g%rk1x_m#awnXIu$aE%pG0XMk*_3 zEx%~2^MQ)y|B`AI-4rH<(cy>2S9{uoU6gKgoO*xX`Z-y3(p{;=`Aq)B>sZ(TPA#LZ z>2L)yp)l!rWvnOeB|W~I%k2*xd2^XfRKEf4TsAazc^IATku5ZTM{jBBX3KZrOE3nV4wIS>oV?B0M zewMkaXHi{8lh$VZH%u0A+bNeUSXisxKr0=BkuRNgXInP9(Bl5z` z-pRUqefQxoCH-X4NiGqj@#M@}Y{6`{A0o~#T}^9|u{g}Hxp6|DMjSqot(xL2%daVp5oLu_)EbP1dl@OVj~0;(GZ?iC4$hLx zi9V|{pGVBs%buFqYi44HwXslV=xwck+=X{r8WKHbyt}2R=Q*=?3eAg+{;?yoBe@(k zIFb8SMS4EuEBPqWHzKL;GC@E1LURO7pMIpj6UsQ%k_W^Zhs`{FiGHSGb+NjMR(TWA zYTfv*B%zYI#hFwMD$ejuu~cutW4Z5to}GX8@j~-VxV%3hMW%eG_F`bw&Euy7BlID& zIQRhUR#rp8^khI4Drm7wePF^xWJqq#rO@7Qs-`{iNtUQ9%zFMjcV%YLLnJGhe~BI$ z@aXKE&MRtS{iwz?>B2Tf8wB5FAvYXL5y$gDbObQ6o7B>>qVQ5=!;wqBAc}3?lyDg3 z`uKc-QHU?jJiI5jIyWA2%x7J4dXJ1USmE}pzy7iDZVXu`Iem_BoX|G(_T#5^jsx1> z-)`LYoK0@jqNx7`70oH{CR@FQoZtrC1~nq;yV$rACo4g@Vo;Ie^dZ1&M{(N+^ZhbB z%FdUMdr6z}Z}FQeIJ~b|mhxlN$+i>og_hIB*5+djs4fv=fApQNC3R_J)6x%|BR$$_ zX(FVLG6$E!zDTLUS)Zb}TWid*?}fTF<84`LBq+# z1*t1%6lth8TZ`dH)egJ1;IVM77~^Bgf`3#8iKcs70rE7{A_{){uG;eq#-Xb{kRyq` zE4l$on_ELtx(l?FQ66JOQV)~L3tYP_LW}YhIS;2$qoqYLh}Wx$ghOfh;K14<-hk#Y zc5#7Dp4+14Hy_);68@>2M6EbWxKCqO`Ic|(wGil1&IVlKqEoR`7nXYiE44@IYE+u8 zwx0VV>xszr9itPCeJkRwl{>ry$>}SM*UiFAwO@;531ccz+#R}>vHOH|7IiOJmr56h zQ&l7+h5ZA<{(GvSgq^T9TC2gP)Hn&Xzf;#iNcc0@04DJC`j6)y57WP9@0Pa`@*u*u U2|Xm^1Rly#0yjxE-ZUHd7ec+|fdBvi delta 1439 zcmZ8hdpMM79Q|f#CZh5b8OB{mC4@#ZSj<#zm1!uUi`%#~xg<>Jb4fz9Oi@c0gJCj^ z7@J|o4y%$&+KgED+h%iFLNl|A(P#FLc6*=aywCePzw@5+->Fxa+lGz^4UGhVPnQ4y z@B;wE9E4}k8w&vj0VfSz{t*5>uxjnV?HG*0bWQeeirFWWkpPeYY)Fp#1@h5=spJpj z0|3+$2<7ZtMLmd?tN@q;#Nr@G)&Kwx1penHC!Mt6q#)XmQz-~b@T~J@Q)xh?0K~vL zPj`lT;m+p2n%^?YVqo5-YzEtn|#T5s`Wg%VD z9;B|!ou|Dl0&P*_n1%}7v1jK;u?w>MM|a;Fm#q>R9Ir1_6$Ys@n3T6J-wELcBzi`1 z2XTQ%FJso`v@(6vvh<9$fF5M(Y2Je)+%*bYvFx?c7jGaZFOVK&^F!ENZMLgbudPV9CU86hX0gnc@?Q(OhDkBq8VZ(W8Q^cILX1Jjl zVVOt5_SX%_R;0SJ)Z}A?aMUNaF(*z0< z`Sem?$R1)NWASO5ryw%pL@%?k`SE3JLC3nXDHSgR9q^t1gT6sUAtFNoF}? zVzH+BSoCLu;k-!nL?XGf-32|(HH!0?&mA)2{GfSM$wZ~Pg%!7|`PclKHWk^!7D+vXHy`HfXRy9_5PN5GW&I3bWm>ah%^1iA_uU`HIOe< z4o8xD?fJf7C85#@D+<1AX8pdzdqyLDX};KCeIhaBlu{i?K2ql~(iFEtQ5TV-|f@*Un!^;+>h>Lq&_ z3FJL1t*U)SYSIJd)?$XVXI#aFh9^^|e^!yayTcnkl_u(!tH(U5zb@jM@qE2AP0XzZ zpGVmEgK=TP2KpK+j6IXxJVZ51ZeY=yhUD>2eG{I$SdGu7e>908f~vLh##wCbnte3# zR?_+nlL^{nvFfYawJ72-vWbRan`e-FUcBrSN485GvhN_VAYNHMibk${bNqnwD$}@W zlVLaZe%&L6?YR9MiNTdi53oz?SGpKx>XKu()u-$zzDF2Qlpz+K{D6G?1a^QETc>Y2 zBJO)kQ$e~PE?E29qom_ZirF7&8u%1H8GL2_Kvz%{)2@28fFz(;E9Nd)4s;t%=zshu zA{H3)D+5mE+y9E{7^W$|DQi6fg6mT4?GG)Xy77|q6H-z__8a}QDS+w#cipnlSKmwK zX6lyBhSV;&u7q>g;NYrMG2BivOF9i6NOeMJe_K&FiQud0ekCZ+<3D*{{msAew%CD{ X=w!e4CgK^Cp(X>RBj%#b?*d-{KHz=G diff --git a/lib/libclass.so b/lib/libclass.so index 46f80454ce26f2003f22ce33e5751fc1669769ee..08052ffc6c72d8ec85a60550d3b5d67597891533 100755 GIT binary patch delta 7972 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 delta 8034 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 diff --git a/make_dict.py b/make_dict.py index 43e2a88..a40c707 100644 --- a/make_dict.py +++ b/make_dict.py @@ -8,13 +8,8 @@ else : files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))] - - import re - - - classes = [] for f in files : diff --git a/makefile b/makefile index ddfc5b0..23c31a2 100644 --- a/makefile +++ b/makefile @@ -13,7 +13,7 @@ TARGET = run #INCLUDES = -I./include -INCLUDES = -I./include -I./lib/src/class +INCLUDES = -I./include SRC_DIR = src #NOMAKEDIR= .git% data% doc% bin% src/bin% tmp% OBJDIR = objs diff --git a/src/main.cpp b/src/main.cpp index 43c4da8..eef5ab6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,9 +1,9 @@ -#include "ts_object.h" +#include "TSObject.h" #include "TSMerger.h" -#include "ts_tree_object.h" +#include "TSTreeObject.h" -#include "print.h" +#include "Print.h" #include "utils.h" #include "classdef.h" @@ -30,12 +30,11 @@ class Condition } }; - template class TSObjectMergerCondition { public : - bool wonnow(const T1 &o1, const T2 &o2, merged &Obj, bool younger){ + bool wonnow(const T1 &o1, const T2 &o2, merged &Obj){ // Define merged Data Obj.l = o1.l; @@ -44,13 +43,54 @@ class TSObjectMergerCondition Obj.x = o2.x; Obj.y = o2.y; - // Necessary - Obj.ts = ! younger ? o1.ts : o2.ts; + + + + Obj.o1 = o1.status; + Obj.o2 = o2.status; + Obj.o1ts = o1.ts; + Obj.o2ts = o2.ts; + + + + // Do not change here + Obj.id = 2 * o2.status + o1.status; + switch (Obj.id){ + case 1 : + Obj.ts = o1.ts; + break; + case 2 : + Obj.ts = o2.ts; + break; + case 3 : + Obj.ts = o2.ts; + break; + case 0 : + return false; + break; + } + /* + * o1 o2 | 2*o2 + o1 + * -------- | --------- + * 1 1 | 3 + * 1 0 | 1 + * 0 1 | 2 + * 0 0 | 0 + * + * id = 0 : invalid data + * id = 1 : o1 data + * id = 2 : o2 data + * id = 3 : coincidence + * + */ + + Obj.xx = o2.x * Obj.ts; + Obj.yy = o2.y * Obj.ts; // Condition - Bool_t condition = std::abs((long long)(o1.ts - o2.ts)) < 4 ; - Obj.status = condition; - return condition; + //Bool_t condition = std::abs((long long)(o1.ts - o2.ts)) < 5 ; + Bool_t condition = true; + return condition; } }; @@ -91,7 +131,7 @@ int main(int argc, char **argv) typedef TSObjectMergerCondition TSMC; TSMC condition; TSObjectMerger< TSTreeObject, TSTreeObject, MergedData > merger(t1, t2); - merger.setOutputTree("merged", "tree"); + merger.setOutputTree("merged", "br"); merger.merge(condition); end = std::chrono::system_clock::now(); -- GitLab