-
Notifications
You must be signed in to change notification settings - Fork 1
/
CommPlotProducer.h
1478 lines (1388 loc) · 76 KB
/
CommPlotProducer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//////////////////////////////////////////////////////////
// This class has been automatically generated on
// Tue Nov 13 15:05:58 2012 by ROOT version 5.32/00
// from TTree ttree/ttree
// found on file: JetTreeTP_Pt-80to120.root
//////////////////////////////////////////////////////////
#ifndef CommPlotProducer_h
#define CommPlotProducer_h
#define ntrack_max 10000
#define NMAX 10000
#include "TH1D.h"
#include "TH2D.h"
#include <iomanip>
#include <TROOT.h>
#include <TChain.h>
#include <string.h>
#include <TFile.h>
#include <iostream>
#include <fstream>
#include "TMath.h"
#include <map>
//#include "../../../../PhysicsTools/Utilities/interface/LumiReweightingStandAlone.h"
#include "/opt/sbg/data/safe1/cms/ccollard/BTAG/sl6/CMSSW_7_4_1/src/PhysicsTools/Utilities/interface/LumiReweightingStandAlone.h"
#include "TSystem.h"
// Header file for the classes stored in the TTree if any.
// Fixed size dimensions of array or collections stored in the TTree if any.
class CommPlotProducer {
public :
bool isData;
bool use_selected_tracks;
TTree *fChain; //!pointer to the analyzed TTree or TChain
Int_t fCurrent; //!current Tree number in a TChain
bool produceJetProbaTree;
bool produceSVinfo;
bool produceTagVarTree;
bool produceTagVarCSVTree;
bool produceRecoMuon;
bool usePFMuon;
bool usePUrew;
double n15_20, n20_30, n30_50,n50_80,n80_120,n120_170,n170_300,n300_470,n470_600,n600_800, n800_1000, n1000_inf;
double n15_30, n120_150, n150_inf;
bool use15_20,use20_30, use30_50,use50_80,use80_120,use120_170,use170_300,use300_470,use470_600,use600_800, use800_1000, use1000_inf;
bool use15_30, use120_150, use150_inf;
std::vector<TH1D*> HistoBtag;
std::vector<TH2D*> HistoBtag2D;
std::map<std::string, int> HistoBtag_map;
std::map<std::string, int> HistoBtag2D_map;
double x_section[12];
double nmc_evt_vect[12];
float WeightXS;
float sum_xs;
TString gentype;
bool qcdtype;
int sqrtstev;
int numb_histo;
int numb_histo2D;
reweight::LumiReWeighting LumiWeights;
bool puweight;
bool setprescale;
int _psVal[NMAX], _runVal[NMAX], _lbVal[NMAX];
int npsVal;
// Declaration of leaf types
Int_t nBitTrigger;
Int_t BitTrigger[3]; //[nBitTrigger]
Int_t Run;
Int_t Evt;
Int_t LumiBlock;
Float_t pthat;
Float_t mcweight;
Int_t nPV;
Float_t PVz;
Float_t GenPVz;
Float_t nPUtrue;
Int_t nPU;
Int_t ncQuarks;
Float_t cQuark_pT[50]; //[ncQuarks]
Float_t cQuark_eta[50]; //[ncQuarks]
Float_t cQuark_phi[50]; //[ncQuarks]
Int_t cQuark_pdgID[50]; //[ncQuarks]
Int_t cQuark_status[50]; //[ncQuarks]
Int_t cQuark_fromGSP[50]; //[ncQuarks]
Int_t nbQuarks;
Float_t bQuark_pT[50]; //[nbQuarks]
Float_t bQuark_eta[50]; //[nbQuarks]
Float_t bQuark_phi[50]; //[nbQuarks]
Int_t bQuark_pdgID[50]; //[nbQuarks]
Int_t bQuark_status[50]; //[nbQuarks]
Int_t bQuark_fromGSP[50]; //[nbQuarks]
Int_t nBHadrons;
Float_t BHadron_pT[50]; //[nBHadrons]
Float_t BHadron_eta[50]; //[nBHadrons]
Float_t BHadron_phi[50]; //[nBHadrons]
Float_t BHadron_mass[50]; //[nBHadrons]
Int_t BHadron_pdgID[50]; //[nBHadrons]
Int_t BHadron_mother[50]; //[nBHadrons]
Int_t BHadron_hasBdaughter[50]; //[nBHadrons]
Int_t nDaughters;
Int_t nDHadrons;
Float_t DHadron_pT[50]; //[nDHadrons]
Float_t DHadron_eta[50]; //[nDHadrons]
Float_t DHadron_phi[50]; //[nDHadrons]
Float_t DHadron_mass[50]; //[nDHadrons]
Int_t DHadron_pdgID[50]; //[nDHadrons]
Int_t DHadron_nDaughters[50]; //[nDHadrons]
Int_t DHadron_DaughtersPdgID[100]; //[nDaughters]
Int_t DHadron_nChargedDaughters[50]; //[nDHadrons]
Int_t nGenlep;
Float_t Genlep_pT[50]; //[nGenlep]
Float_t Genlep_eta[50]; //[nGenlep]
Float_t Genlep_phi[50]; //[nGenlep]
Int_t Genlep_pdgID[50]; //[nGenlep]
Int_t Genlep_status[50]; //[nGenlep]
Int_t Genlep_mother[50]; //[nGenlep]
Int_t nGenquark;
Float_t Genquark_pT[50]; //[nGenquark]
Float_t Genquark_eta[50]; //[nGenquark]
Float_t Genquark_phi[50]; //[nGenquark]
Int_t Genquark_pdgID[50]; //[nGenquark]
Int_t Genquark_mother[50]; //[nGenquark]
Int_t nJet;
Float_t Jet_pt[1000]; //[nJet]
Float_t Jet_genpt[1000]; //[nJet]
Float_t Jet_residual[1000]; //[nJet]
Float_t Jet_jes[1000]; //[nJet]
Float_t Jet_eta[1000]; //[nJet]
Float_t Jet_phi[1000]; //[nJet]
Float_t Jet_mass[1000]; //[nJet]
Int_t Jet_ntracks[1000]; //[nJet]
Int_t Jet_nseltracks[1000]; //[nJet]
Int_t Jet_flavour[1000]; //[nJet]
Int_t Jet_flavourCleaned[1000]; //[nJet]
Float_t Jet_Ip2N[1000]; //[nJet]
Float_t Jet_Ip2P[1000]; //[nJet]
Float_t Jet_Ip3N[1000]; //[nJet]
Float_t Jet_Ip3P[1000]; //[nJet]
Float_t Jet_ProbaN[1000]; //[nJet]
Float_t Jet_ProbaP[1000]; //[nJet]
Float_t Jet_Proba[1000]; //[nJet]
Float_t Jet_BprobN[1000]; //[nJet]
Float_t Jet_BprobP[1000]; //[nJet]
Float_t Jet_Bprob[1000]; //[nJet]
Float_t Jet_SvxN[1000]; //[nJet]
Float_t Jet_Svx[1000]; //[nJet]
Float_t Jet_SvxNHP[1000]; //[nJet]
Float_t Jet_SvxHP[1000]; //[nJet]
Float_t Jet_CombSvxN[1000]; //[nJet]
Float_t Jet_CombSvxP[1000]; //[nJet]
Float_t Jet_CombSvx[1000]; //[nJet]
Float_t Jet_CombCSVSL_N[1000]; //[nJet]
Float_t Jet_CombCSVSL_P[1000]; //[nJet]
Float_t Jet_CombCSVSL[1000]; //[nJet]
Float_t Jet_CombIVF[1000]; //[nJet]
Float_t Jet_CombIVF_P[7]; //[nJet]
Float_t Jet_CombIVF_N[7]; //[nJet]
Float_t Jet_SoftMuN[1000]; //[nJet]
Float_t Jet_SoftMuP[1000]; //[nJet]
Float_t Jet_SoftMu[1000]; //[nJet]
Float_t Jet_SoftElN[1000]; //[nJet]
Float_t Jet_SoftElP[1000]; //[nJet]
Float_t Jet_SoftEl[1000]; //[nJet]
Float_t Jet_cMVA[1000]; //[nJet]
Float_t Jet_cMVAv2[1000]; //[nJet]
Float_t Jet_DeepFlavourBDisc[1000]; //[nJet]
Float_t Jet_DeepFlavourCvsLDisc[1000]; //[nJet]
Float_t Jet_DeepFlavourCvsBDisc[1000]; //[nJet]
Float_t Jet_DeepFlavourB[1000]; //[nJet]
Float_t Jet_DeepFlavourBB[1000]; //[nJet]
Float_t Jet_DeepFlavourLEPB[1000]; //[nJet]
Float_t Jet_DeepFlavourC[1000]; //[nJet]
Float_t Jet_DeepFlavourUDS[1000]; //[nJet]
Float_t Jet_DeepFlavourG[1000]; //[nJet]
Float_t Jet_DeepCSVBDisc[1000]; //[nJet]
Float_t Jet_DeepCSVBDiscN[1000]; //[nJet]
Float_t Jet_DeepCSVBDiscP[1000]; //[nJet]
Float_t Jet_DeepCSVCvsLDisc[1000]; //[nJet]
Float_t Jet_DeepCSVCvsLDiscN[1000]; //[nJet]
Float_t Jet_DeepCSVCvsLDiscP[1000]; //[nJet]
Float_t Jet_DeepCSVCvsBDisc[1000]; //[nJet]
Float_t Jet_DeepCSVCvsBDiscN[1000]; //[nJet]
Float_t Jet_DeepCSVCvsBDiscP[1000]; //[nJet]
Float_t Jet_DeepCSVb[1000]; //[nJet]
Float_t Jet_DeepCSVc[1000]; //[nJet]
Float_t Jet_DeepCSVl[1000]; //[nJet]
Float_t Jet_DeepCSVbb[1000]; //[nJet]
Float_t Jet_DeepCSVcc[1000]; //[nJet]
Float_t Jet_DeepCSVbN[1000]; //[nJet]
Float_t Jet_DeepCSVcN[1000]; //[nJet]
Float_t Jet_DeepCSVlN[1000]; //[nJet]
Float_t Jet_DeepCSVbbN[1000]; //[nJet]
Float_t Jet_DeepCSVccN[1000]; //[nJet]
Float_t Jet_DeepCSVbP[1000]; //[nJet]
Float_t Jet_DeepCSVcP[1000]; //[nJet]
Float_t Jet_DeepCSVlP[1000]; //[nJet]
Float_t Jet_DeepCSVbbP[1000]; //[nJet]
Float_t Jet_DeepCSVccP[1000]; //[nJet]
Int_t Jet_SV_multi[1000]; //[nJet]
Int_t Jet_looseID[1000]; //[nJet]
Int_t Jet_tightID[1000]; //[nJet]
Int_t Jet_nFirstTrack[1000]; //[nJet]
Int_t Jet_nLastTrack[1000]; //[nJet]
Int_t Jet_nFirstSV[1000]; //[nJet]
Int_t Jet_nLastSV[1000]; //[nJet]
Int_t Jet_nFirstTrkInc[1000]; //[nJet]
Int_t Jet_nLastTrkInc[1000]; //[nJet]
Int_t Jet_nFirstTrkTagVar[1000]; //[nJet]
Int_t Jet_nLastTrkTagVar[1000]; //[nJet]
Int_t Jet_nFirstSVTagVar[1000]; //[nJet]
Int_t Jet_nLastSVTagVar[1000]; //[nJet]
Int_t Jet_nFirstTrkTagVarCSV[1000]; //[nJet]
Int_t Jet_nLastTrkTagVarCSV[1000]; //[nJet]
Int_t Jet_nFirstTrkEtaRelTagVarCSV[1000]; //[nJet]
Int_t Jet_nLastTrkEtaRelTagVarCSV[1000]; //[nJet]
Int_t nTrkInc;
Float_t TrkInc_pt[50]; //[nTrkInc]
Float_t TrkInc_eta[50]; //[nTrkInc]
Float_t TrkInc_phi[50]; //[nTrkInc]
Float_t TrkInc_ptrel[50]; //[nTrkInc]
Float_t TrkInc_IPsig[50]; //[nTrkInc]
Float_t TrkInc_IP[50]; //[nTrkInc]
Int_t nMuon;
Int_t Muon_IdxJet[50]; //[nMuon]
Int_t Muon_nMuHit[50]; //[nMuon]
Int_t Muon_nTkHit[50]; //[nMuon]
Int_t Muon_nPixHit[50]; //[nMuon]
Int_t Muon_nOutHit[50]; //[nMuon]
Int_t Muon_isGlobal[50]; //[nMuon]
Int_t Muon_nMatched[50]; //[nMuon]
Float_t Muon_chi2[50]; //[nMuon]
Float_t Muon_chi2Tk[50]; //[nMuon]
Float_t Muon_pt[50]; //[nMuon]
Float_t Muon_eta[50]; //[nMuon]
Float_t Muon_phi[50]; //[nMuon]
Float_t Muon_ptrel[50]; //[nMuon]
Float_t Muon_vz[50]; //[nMuon]
Int_t Muon_hist[50]; //[nMuon]
Int_t Muon_TrackIdx[50]; //[nMuon]
Float_t Muon_IPsig[50]; //[nMuon]
Float_t Muon_IP[50]; //[nMuon]
Float_t Muon_IP2Dsig[50]; //[nMuon]
Float_t Muon_IP2D[50]; //[nMuon]
Float_t Muon_Proba[50]; //[nMuon]
Float_t Muon_deltaR[50]; //[nMuon]
Float_t Muon_ratio[50]; //[nMuon]
Float_t Muon_ratioRel[50]; //[nMuon]
Int_t nPFElectron;
Int_t PFElectron_IdxJet[50]; //[nPFElectron]
Float_t PFElectron_pt[50]; //[nPFElectron]
Float_t PFElectron_eta[50]; //[nPFElectron]
Float_t PFElectron_phi[50]; //[nPFElectron]
Float_t PFElectron_ptrel[50]; //[nPFElectron]
Float_t PFElectron_deltaR[50]; //[nPFElectron]
Float_t PFElectron_ratio[50]; //[nPFElectron]
Float_t PFElectron_ratioRel[50]; //[nPFElectron]
Float_t PFElectron_IP[50]; //[nPFElectron]
Float_t PFElectron_IP2D[50]; //[nPFElectron]
Int_t nPFMuon;
Int_t PFMuon_IdxJet[50]; //[nPFMuon]
Float_t PFMuon_pt[50]; //[nPFMuon]
Float_t PFMuon_eta[50]; //[nPFMuon]
Float_t PFMuon_phi[50]; //[nPFMuon]
Float_t PFMuon_ptrel[50]; //[nPFMuon]
Float_t PFMuon_deltaR[50]; //[nPFMuon]
Float_t PFMuon_ratio[50]; //[nPFMuon]
Float_t PFMuon_ratioRel[50]; //[nPFMuon]
Float_t PFMuon_IP[50]; //[nPFMuon]
Float_t PFMuon_IP2D[50]; //[nPFMuon]
Int_t PFMuon_GoodQuality[50]; //[nPFMuon]
Int_t nSV;
Float_t SV_x[50]; //[nSV]
Float_t SV_y[50]; //[nSV]
Float_t SV_z[50]; //[nSV]
Float_t SV_ex[50]; //[nSV]
Float_t SV_ey[50]; //[nSV]
Float_t SV_ez[50]; //[nSV]
Float_t SV_chi2[50]; //[nSV]
Float_t SV_ndf[50]; //[nSV]
Float_t SV_flight[50]; //[nSV]
Float_t SV_flightErr[50]; //[nSV]
Float_t SV_deltaR_jet[50]; //[nSV]
Float_t SV_deltaR_sum_jet[50]; //[nSV]
Float_t SV_deltaR_sum_dir[50]; //[nSV]
Float_t SV_energy_ratio[50]; //[nSV] <--- disparu dans phys14
Float_t SV_aboveC[50]; //[nSV] <---- disparu dans phys14
Float_t SV_vtx_pt[50]; //[nSV]
Float_t SV_flight2D[50]; //[nSV]
Float_t SV_flight2DErr[50]; //[nSV]
Float_t SV_totCharge[50]; //[nSV]
Float_t SV_vtxDistJetAxis[50]; //[nSV]
Int_t SV_nTrk[50]; //[nSV]
Int_t SV_nTrk_firstVxt[50]; //[nSV]
Float_t SV_mass[50]; //[nSV]
Float_t SV_vtx_eta[50]; //[nSV]
Float_t SV_vtx_phi[50]; //[nSV]
Int_t nTrack;
Float_t Track_dxy[ntrack_max]; //[nTrack]
Float_t Track_dz[ntrack_max]; //[nTrack]
Float_t Track_length[ntrack_max]; //[nTrack]
Float_t Track_dist[ntrack_max]; //[nTrack]
Float_t Track_IP2D[ntrack_max]; //[nTrack]
Float_t Track_IP2Dsig[ntrack_max]; //[nTrack]
Float_t Track_IP2Derr[ntrack_max]; //[nTrack]
Float_t Track_IP[ntrack_max]; //[nTrack]
Float_t Track_IPsig[ntrack_max]; //[nTrack]
Float_t Track_IPerr[ntrack_max]; //[nTrack]
Float_t Track_Proba[ntrack_max]; //[nTrack]
Float_t Track_p[ntrack_max]; //[nTrack]
Float_t Track_pt[ntrack_max]; //[nTrack]
Float_t Track_eta[ntrack_max]; //[nTrack]
Float_t Track_phi[ntrack_max]; //[nTrack]
Float_t Track_chi2[ntrack_max]; //[nTrack]
Int_t Track_charge[ntrack_max]; //[nTrack]
Int_t Track_history[ntrack_max]; //[nTrack]
Int_t Track_nHitStrip[ntrack_max]; //[nTrack]
Int_t Track_nHitPixel[ntrack_max]; //[nTrack]
Int_t Track_nHitAll[ntrack_max]; //[nTrack]
Int_t Track_nHitTIB[ntrack_max]; //[nTrack]
Int_t Track_nHitTID[ntrack_max]; //[nTrack]
Int_t Track_nHitTOB[ntrack_max]; //[nTrack]
Int_t Track_nHitTEC[ntrack_max]; //[nTrack]
Int_t Track_nHitPXB[ntrack_max]; //[nTrack]
Int_t Track_nHitPXF[ntrack_max]; //[nTrack]
Int_t Track_isHitL1[ntrack_max]; //[nTrack]
Int_t Track_PV[ntrack_max]; //[nTrack]
Int_t Track_SV[ntrack_max]; //[nTrack]
Float_t Track_PVweight[ntrack_max]; //[nTrack]
Float_t Track_SVweight[ntrack_max]; //[nTrack]
Int_t Track_category[ntrack_max]; //[nTrack]
Int_t Track_isfromSV[ntrack_max]; //[nTrack]
Float_t PV_x[1000]; //[nPV]
Float_t PV_y[1000]; //[nPV]
Float_t PV_z[1000]; //[nPV]
Float_t PV_ex[1000]; //[nPV]
Float_t PV_ey[1000]; //[nPV]
Float_t PV_ez[1000]; //[nPV]
Float_t PV_chi2[1000]; //[nPV]
Float_t PV_ndf[1000]; //[nPV]
Int_t PV_isgood[1000]; //[nPV]
Int_t PV_isfake[1000]; //[nPV]
Float_t TagVar_jetNTracks[1000]; //[nJet]
Float_t TagVar_jetNSecondaryVertices[1000]; //[nJet]
Float_t TagVar_chargedHadronEnergyFraction[1000]; //[nJet]
Float_t TagVar_neutralHadronEnergyFraction[1000]; //[nJet]
Float_t TagVar_photonEnergyFraction[1000]; //[nJet]
Float_t TagVar_electronEnergyFraction[1000]; //[nJet]
Float_t TagVar_muonEnergyFraction[1000]; //[nJet]
Float_t TagVar_chargedHadronMultiplicity[1000]; //[nJet]
Float_t TagVar_neutralHadronMultiplicity[1000]; //[nJet]
Float_t TagVar_photonMultiplicity[1000]; //[nJet]
Float_t TagVar_electronMultiplicity[1000]; //[nJet]
Float_t TagVar_muonMultiplicity[1000]; //[nJet]
Int_t nTrkTagVar;
Float_t TagVar_trackMomentum[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackEta[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackPhi[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackPtRel[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackPPar[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackEtaRel[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackDeltaR[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackPtRatio[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackPParRatio[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackSip2dVal[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackSip2dSig[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackSip3dVal[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackSip3dSig[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackDecayLenVal[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackDecayLenSig[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackJetDistVal[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackJetDistSig[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackChi2[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackNTotalHits[ntrack_max]; //[nTrkTagVar]
Float_t TagVar_trackNPixelHits[ntrack_max]; //[nTrkTagVar]
Int_t nSVTagVar;
Float_t TagVar_vertexMass[50]; //[nSVTagVar]
Float_t TagVar_vertexNTracks[50]; //[nSVTagVar]
Float_t TagVar_vertexJetDeltaR[50]; //[nSVTagVar]
Float_t TagVar_flightDistance2dVal[50]; //[nSVTagVar]
Float_t TagVar_flightDistance2dSig[50]; //[nSVTagVar]
Float_t TagVar_flightDistance3dVal[50]; //[nSVTagVar]
Float_t TagVar_flightDistance3dSig[50]; //[nSVTagVar]
Float_t TagVarCSV_trackJetPt[1000]; //[nJet]
Float_t TagVarCSV_jetNTracks[1000]; //[nJet]
Float_t TagVarCSV_jetNTracksEtaRel[1000]; //[nJet]
Float_t TagVarCSV_trackSumJetEtRatio[1000]; //[nJet]
Float_t TagVarCSV_trackSumJetDeltaR[1000]; //[nJet]
Float_t TagVarCSV_trackSip2dValAboveCharm[1000]; //[nJet]
Float_t TagVarCSV_trackSip2dSigAboveCharm[1000]; //[nJet]
Float_t TagVarCSV_trackSip3dValAboveCharm[1000]; //[nJet]
Float_t TagVarCSV_trackSip3dSigAboveCharm[1000]; //[nJet]
Float_t TagVarCSV_vertexCategory[1000]; //[nJet]
Float_t TagVarCSV_jetNSecondaryVertices[1000]; //[nJet]
Float_t TagVarCSV_vertexMass[1000]; //[nJet]
Float_t TagVarCSV_vertexNTracks[1000]; //[nJet]
Float_t TagVarCSV_vertexEnergyRatio[1000]; //[nJet]
Float_t TagVarCSV_vertexJetDeltaR[1000]; //[nJet]
Float_t TagVarCSV_flightDistance2dVal[1000]; //[nJet]
Float_t TagVarCSV_flightDistance2dSig[1000]; //[nJet]
Float_t TagVarCSV_flightDistance3dVal[1000]; //[nJet]
Float_t TagVarCSV_flightDistance3dSig[1000]; //[nJet]
Int_t nTrkTagVarCSV;
Int_t nTrkEtaRelTagVarCSV;
Float_t TagVarCSV_trackMomentum[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackEta[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackPhi[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackPtRel[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackPPar[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackDeltaR[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackPtRatio[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackPParRatio[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackSip2dVal[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackSip2dSig[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackSip3dVal[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackSip3dSig[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackDecayLenVal[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackDecayLenSig[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackJetDistVal[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackJetDistSig[ntrack_max]; //[nTrkTagVarCSV]
Float_t TagVarCSV_trackEtaRel[ntrack_max]; //[nTrkEtaRelTagVarCSV]
Float_t DeepFlavourInput_charged_Sip3dVal[1000]; //[nJet]
Float_t DeepFlavourInput_charged_Sip3dSig[1000]; //[nJet]
Float_t DeepFlavourInput_charged_quality[1000]; //[nJet]
Float_t DeepFlavourInput_charged_chi2[1000]; //[nJet]
Float_t DeepFlavourInput_neutral_drminsv[1000]; //[nJet]
Float_t DeepFlavourInput_neutral_hadFrac[1000]; //[nJet]
Float_t DeepFlavourInput_neutral_ptrel [1000]; //[nJet]
Float_t DeepFlavourInput_sv_d3d[1000]; //[nJet]
Float_t DeepFlavourInput_sv_d3dsig[1000]; //[nJet]
Float_t DeepFlavourInput_sv_normchi2[1000]; //[nJet]
// CTag informations
Float_t CTag_Jet_CvsB[1000];
Float_t CTag_Jet_CvsBN[1000];
Float_t CTag_Jet_CvsBP[1000];
Float_t CTag_Jet_CvsL[1000];
Float_t CTag_Jet_CvsLN[1000];
Float_t CTag_Jet_CvsLP[1000];
// List of branches
TBranch *b_nBitTrigger; //!
TBranch *b_BitTrigger; //!
TBranch *b_Run; //!
TBranch *b_Evt; //!
TBranch *b_LumiBlock; //!
TBranch *b_pthat; //!
TBranch *b_mcweight; //!
TBranch *b_nPV; //!
TBranch *b_PVz; //!
TBranch *b_GenPVz; //!
TBranch *b_nPUtrue; //!
TBranch *b_nPU; //!
TBranch *b_ncQuarks; //!
TBranch *b_cQuark_pT; //!
TBranch *b_cQuark_eta; //!
TBranch *b_cQuark_phi; //!
TBranch *b_cQuark_pdgID; //!
TBranch *b_cQuark_status; //!
TBranch *b_cQuark_fromGSP; //!
TBranch *b_nbQuarks; //!
TBranch *b_bQuark_pT; //!
TBranch *b_bQuark_eta; //!
TBranch *b_bQuark_phi; //!
TBranch *b_bQuark_pdgID; //!
TBranch *b_bQuark_status; //!
TBranch *b_bQuark_fromGSP; //!
TBranch *b_nBHadrons; //!
TBranch *b_BHadron_pT; //!
TBranch *b_BHadron_eta; //!
TBranch *b_BHadron_phi; //!
TBranch *b_BHadron_mass; //!
TBranch *b_BHadron_pdgID; //!
TBranch *b_BHadron_mother; //!
TBranch *b_BHadron_hasBdaughter; //!
TBranch *b_nDHadrons; //!
TBranch *b_nDaughters; //!
TBranch *b_DHadron_pT; //!
TBranch *b_DHadron_eta; //!
TBranch *b_DHadron_phi; //!
TBranch *b_DHadron_mass; //!
TBranch *b_DHadron_pdgID; //!
TBranch *b_DHadron_nDaughters; //!
TBranch *b_DHadron_DaughtersPdgID; //!
TBranch *b_DHadron_nChargedDaughters; //!
TBranch *b_nGenlep; //!
TBranch *b_Genlep_pT; //!
TBranch *b_Genlep_eta; //!
TBranch *b_Genlep_phi; //!
TBranch *b_Genlep_pdgID; //!
TBranch *b_Genlep_status; //!
TBranch *b_Genlep_mother; //!
TBranch *b_nGenquark; //!
TBranch *b_Genquark_pT; //!
TBranch *b_Genquark_eta; //!
TBranch *b_Genquark_phi; //!
TBranch *b_Genquark_pdgID; //!
TBranch *b_Genquark_mother; //!
TBranch *b_nJet; //!
TBranch *b_Jet_pt; //!
TBranch *b_Jet_genpt; //!
TBranch *b_Jet_residual; //!
TBranch *b_Jet_jes; //!
TBranch *b_Jet_eta; //!
TBranch *b_Jet_phi; //!
TBranch *b_Jet_mass; //!
TBranch *b_Jet_ntracks; //!
TBranch *b_Jet_nseltracks; //!
TBranch *b_Jet_flavour; //!
TBranch *b_Jet_flavourCleaned; //!
TBranch *b_Jet_Ip2N; //!
TBranch *b_Jet_Ip2P; //!
TBranch *b_Jet_Ip3N; //!
TBranch *b_Jet_Ip3P; //!
TBranch *b_Jet_ProbaN; //!
TBranch *b_Jet_ProbaP; //!
TBranch *b_Jet_Proba; //!
TBranch *b_Jet_BprobN; //!
TBranch *b_Jet_BprobP; //!
TBranch *b_Jet_Bprob; //!
TBranch *b_Jet_SvxN; //!
TBranch *b_Jet_Svx; //!
TBranch *b_Jet_SvxNHP; //!
TBranch *b_Jet_SvxHP; //!
TBranch *b_Jet_CombSvxN; //!
TBranch *b_Jet_CombSvxP; //!
TBranch *b_Jet_CombSvx; //!
TBranch *b_Jet_CombCSVSL_N; //!
TBranch *b_Jet_CombCSVSL_P; //!
TBranch *b_Jet_CombCSVSL; //!
TBranch *b_Jet_CombIVF; //!
TBranch *b_Jet_CombIVF_P; //!
TBranch *b_Jet_CombIVF_N; //!
TBranch *b_Jet_SoftMuN; //!
TBranch *b_Jet_SoftMuP; //!
TBranch *b_Jet_SoftMu; //!
TBranch *b_Jet_SoftElN; //!
TBranch *b_Jet_SoftElP; //!
TBranch *b_Jet_SoftEl; //!
TBranch *b_Jet_cMVA; //!
TBranch *b_Jet_cMVAv2; //!
TBranch *b_Jet_DeepFlavourBDisc; //!
TBranch *b_Jet_DeepFlavourCvsLDisc; //!
TBranch *b_Jet_DeepFlavourCvsBDisc; //!
TBranch *b_Jet_DeepFlavourB; //!
TBranch *b_Jet_DeepFlavourBB; //!
TBranch *b_Jet_DeepFlavourLEPB; //!
TBranch *b_Jet_DeepFlavourC; //!
TBranch *b_Jet_DeepFlavourUDS; //!
TBranch *b_Jet_DeepFlavourG; //!
TBranch *b_Jet_DeepCSVBDisc; //!
TBranch *b_Jet_DeepCSVBDiscN; //!
TBranch *b_Jet_DeepCSVBDiscP; //!
TBranch *b_Jet_DeepCSVCvsLDisc; //!
TBranch *b_Jet_DeepCSVCvsLDiscN; //!
TBranch *b_Jet_DeepCSVCvsLDiscP; //!
TBranch *b_Jet_DeepCSVCvsBDisc; //!
TBranch *b_Jet_DeepCSVCvsBDiscN; //!
TBranch *b_Jet_DeepCSVCvsBDiscP; //!
TBranch *b_Jet_DeepCSVb; //!
TBranch *b_Jet_DeepCSVc; //!
TBranch *b_Jet_DeepCSVl; //!
TBranch *b_Jet_DeepCSVbb; //!
TBranch *b_Jet_DeepCSVcc; //!
TBranch *b_Jet_DeepCSVbN; //!
TBranch *b_Jet_DeepCSVcN; //!
TBranch *b_Jet_DeepCSVlN; //!
TBranch *b_Jet_DeepCSVbbN; //!
TBranch *b_Jet_DeepCSVccN; //!
TBranch *b_Jet_DeepCSVbP; //!
TBranch *b_Jet_DeepCSVcP; //!
TBranch *b_Jet_DeepCSVlP; //!
TBranch *b_Jet_DeepCSVbbP; //!
TBranch *b_Jet_DeepCSVccP; //!
TBranch *b_Jet_nFirstTrack; //!
TBranch *b_Jet_nLastTrack; //!
TBranch *b_Jet_nFirstSV; //!
TBranch *b_Jet_nLastSV; //!
TBranch *b_Jet_SV_multi; //!
TBranch *b_Jet_nFirstTrkInc; //!
TBranch *b_Jet_nLastTrkInc; //!
TBranch *b_Jet_looseID; //!
TBranch *b_Jet_tightID; //!
TBranch *b_Jet_nFirstTrkTagVar; //!
TBranch *b_Jet_nLastTrkTagVar; //!
TBranch *b_Jet_nFirstSVTagVar; //!
TBranch *b_Jet_nLastSVTagVar; //!
TBranch *b_TagVar_jetNTracks; //!
TBranch *b_TagVar_jetNSecondaryVertices; //!
TBranch *b_TagVar_chargedHadronEnergyFraction; //!
TBranch *b_TagVar_neutralHadronEnergyFraction; //!
TBranch *b_TagVar_photonEnergyFraction; //!
TBranch *b_TagVar_electronEnergyFraction; //!
TBranch *b_TagVar_muonEnergyFraction; //!
TBranch *b_TagVar_chargedHadronMultiplicity; //!
TBranch *b_TagVar_neutralHadronMultiplicity; //!
TBranch *b_TagVar_photonMultiplicity; //!
TBranch *b_TagVar_electronMultiplicity; //!
TBranch *b_TagVar_muonMultiplicity; //!
TBranch *b_nTrkTagVar; //!
TBranch *b_TagVar_trackMomentum; //!
TBranch *b_TagVar_trackEta; //!
TBranch *b_TagVar_trackPhi; //!
TBranch *b_TagVar_trackPtRel; //!
TBranch *b_TagVar_trackPPar; //!
TBranch *b_TagVar_trackEtaRel; //!
TBranch *b_TagVar_trackDeltaR; //!
TBranch *b_TagVar_trackPtRatio; //!
TBranch *b_TagVar_trackPParRatio; //!
TBranch *b_TagVar_trackSip2dVal; //!
TBranch *b_TagVar_trackSip2dSig; //!
TBranch *b_TagVar_trackSip3dVal; //!
TBranch *b_TagVar_trackSip3dSig; //!
TBranch *b_TagVar_trackDecayLenVal; //!
TBranch *b_TagVar_trackDecayLenSig; //!
TBranch *b_TagVar_trackJetDistVal; //!
TBranch *b_TagVar_trackJetDistSig; //!
TBranch *b_TagVar_trackChi2; //!
TBranch *b_TagVar_trackNTotalHits; //!
TBranch *b_TagVar_trackNPixelHits; //!
TBranch *b_nSVTagVar; //!
TBranch *b_TagVar_vertexMass; //!
TBranch *b_TagVar_vertexNTracks; //!
TBranch *b_TagVar_vertexJetDeltaR; //!
TBranch *b_TagVar_flightDistance2dVal; //!
TBranch *b_TagVar_flightDistance2dSig; //!
TBranch *b_TagVar_flightDistance3dVal; //!
TBranch *b_TagVar_flightDistance3dSig; //!
TBranch *b_Jet_nFirstTrkTagVarCSV; //!
TBranch *b_Jet_nLastTrkTagVarCSV; //!
TBranch *b_Jet_nFirstTrkEtaRelTagVarCSV; //!
TBranch *b_Jet_nLastTrkEtaRelTagVarCSV; //!
TBranch *b_TagVarCSV_trackJetPt; //!
TBranch *b_TagVarCSV_jetNTracks; //!
TBranch *b_TagVarCSV_jetNTracksEtaRel; //!
TBranch *b_TagVarCSV_trackSumJetEtRatio; //!
TBranch *b_TagVarCSV_trackSumJetDeltaR; //!
TBranch *b_TagVarCSV_trackSip2dValAboveCharm; //!
TBranch *b_TagVarCSV_trackSip2dSigAboveCharm; //!
TBranch *b_TagVarCSV_trackSip3dValAboveCharm; //!
TBranch *b_TagVarCSV_trackSip3dSigAboveCharm; //!
TBranch *b_TagVarCSV_vertexCategory; //!
TBranch *b_TagVarCSV_jetNSecondaryVertices; //!
TBranch *b_TagVarCSV_vertexMass; //!
TBranch *b_TagVarCSV_vertexNTracks; //!
TBranch *b_TagVarCSV_vertexEnergyRatio; //!
TBranch *b_TagVarCSV_vertexJetDeltaR; //!
TBranch *b_TagVarCSV_flightDistance2dVal; //!
TBranch *b_TagVarCSV_flightDistance2dSig; //!
TBranch *b_TagVarCSV_flightDistance3dVal; //!
TBranch *b_TagVarCSV_flightDistance3dSig; //!
TBranch *b_nTrkTagVarCSV; //!
TBranch *b_nTrkEtaRelTagVarCSV; //!
TBranch *b_TagVarCSV_trackMomentum; //!
TBranch *b_TagVarCSV_trackEta; //!
TBranch *b_TagVarCSV_trackPhi; //!
TBranch *b_TagVarCSV_trackPtRel; //!
TBranch *b_TagVarCSV_trackPPar; //!
TBranch *b_TagVarCSV_trackDeltaR; //!
TBranch *b_TagVarCSV_trackPtRatio; //!
TBranch *b_TagVarCSV_trackPParRatio; //!
TBranch *b_TagVarCSV_trackSip2dVal; //!
TBranch *b_TagVarCSV_trackSip2dSig; //!
TBranch *b_TagVarCSV_trackSip3dVal; //!
TBranch *b_TagVarCSV_trackSip3dSig; //!
TBranch *b_TagVarCSV_trackDecayLenVal; //!
TBranch *b_TagVarCSV_trackDecayLenSig; //!
TBranch *b_TagVarCSV_trackJetDistVal; //!
TBranch *b_TagVarCSV_trackJetDistSig; //!
TBranch *b_TagVarCSV_trackEtaRel; //!
TBranch *b_DeepFlavourInput_charged_Sip3dVal; //!
TBranch *b_DeepFlavourInput_charged_Sip3dSig; //!
TBranch *b_DeepFlavourInput_charged_quality; //!
TBranch *b_DeepFlavourInput_charged_chi2; //!
TBranch *b_DeepFlavourInput_neutral_drminsv; //!
TBranch *b_DeepFlavourInput_neutral_hadFrac; //!
TBranch *b_DeepFlavourInput_neutral_ptrel ; //!
TBranch *b_DeepFlavourInput_sv_d3d; //!
TBranch *b_DeepFlavourInput_sv_d3dsig; //!
TBranch *b_DeepFlavourInput_sv_normchi2; //!
TBranch *b_nTrkInc; //!
TBranch *b_TrkInc_pt; //!
TBranch *b_TrkInc_eta; //!
TBranch *b_TrkInc_phi; //!
TBranch *b_TrkInc_ptrel; //!
TBranch *b_TrkInc_IPsig; //!
TBranch *b_TrkInc_IP; //!
TBranch *b_nMuon; //!
TBranch *b_Muon_IdxJet; //!
TBranch *b_Muon_nMuHit; //!
TBranch *b_Muon_nTkHit; //!
TBranch *b_Muon_nPixHit; //!
TBranch *b_Muon_nOutHit; //!
TBranch *b_Muon_isGlobal; //!
TBranch *b_Muon_nMatched; //!
TBranch *b_Muon_chi2; //!
TBranch *b_Muon_chi2Tk; //!
TBranch *b_Muon_pt; //!
TBranch *b_Muon_eta; //!
TBranch *b_Muon_phi; //!
TBranch *b_Muon_ptrel; //!
TBranch *b_Muon_vz; //!
TBranch *b_Muon_hist; //!
TBranch *b_Muon_TrackIdx; //!
TBranch *b_Muon_IPsig; //!
TBranch *b_Muon_IP; //!
TBranch *b_Muon_IP2Dsig; //!
TBranch *b_Muon_IP2D; //!
TBranch *b_Muon_Proba; //!
TBranch *b_Muon_deltaR; //!
TBranch *b_Muon_ratio; //!
TBranch *b_Muon_ratioRel; //!
TBranch *b_nPFElectron; //!
TBranch *b_PFElectron_IdxJet; //!
TBranch *b_PFElectron_pt; //!
TBranch *b_PFElectron_eta; //!
TBranch *b_PFElectron_phi; //!
TBranch *b_PFElectron_ptrel; //!
TBranch *b_PFElectron_deltaR; //!
TBranch *b_PFElectron_ratio; //!
TBranch *b_PFElectron_ratioRel; //!
TBranch *b_PFElectron_IP; //!
TBranch *b_PFElectron_IP2D; //!
TBranch *b_nPFMuon; //!
TBranch *b_PFMuon_IdxJet; //!
TBranch *b_PFMuon_pt; //!
TBranch *b_PFMuon_eta; //!
TBranch *b_PFMuon_phi; //!
TBranch *b_PFMuon_ptrel; //!
TBranch *b_PFMuon_deltaR; //!
TBranch *b_PFMuon_ratio; //!
TBranch *b_PFMuon_ratioRel; //!
TBranch *b_PFMuon_IP; //!
TBranch *b_PFMuon_IP2D; //!
TBranch *b_PFMuon_GoodQuality; //!
TBranch *b_nSV; //!
TBranch *b_SV_x; //!
TBranch *b_SV_y; //!
TBranch *b_SV_z; //!
TBranch *b_SV_ex; //!
TBranch *b_SV_ey; //!
TBranch *b_SV_ez; //!
TBranch *b_SV_chi2; //!
TBranch *b_SV_ndf; //!
TBranch *b_SV_flight; //!
TBranch *b_SV_flightErr; //!
TBranch *b_SV_deltaR_jet; //!
TBranch *b_SV_deltaR_sum_jet; //!
TBranch *b_SV_deltaR_sum_dir; //!
TBranch *b_SV_energy_ratio; //!
TBranch *b_SV_aboveC; //!
TBranch *b_SV_vtx_pt; //!
TBranch *b_SV_flight2D; //!
TBranch *b_SV_flight2DErr; //!
TBranch *b_SV_totCharge; //!
TBranch *b_SV_vtxDistJetAxis; //!
TBranch *b_SV_nTrk; //!
TBranch *b_SV_nTrk_firstVxt; //!
TBranch *b_SV_mass; //!
TBranch *b_SV_vtx_eta; //!
TBranch *b_SV_vtx_phi; //!
// //--------------------------------------
// // track information
// //--------------------------------------
TBranch *b_nTrack;
TBranch *b_Trackdxy;
TBranch *b_Track_dz; //!
TBranch *b_Tracklength;
TBranch *b_Trackdist;
TBranch *b_TrackIP2D;
TBranch *b_TrackIP2Dsig;
TBranch *b_TrackIP;
TBranch *b_TrackIPsig;
TBranch *b_TrackIP2Derr;
TBranch *b_TrackIPerr;
TBranch *b_TrackProba;
TBranch *b_Trackp;
TBranch *b_Trackpt;
TBranch *b_Tracketa;
TBranch *b_Trackphi;
TBranch *b_Trackchi2;
TBranch *b_Trackcharge;
TBranch *b_Trackhistory;
TBranch *b_TracknHitStrip;
TBranch *b_TracknHitPixel;
TBranch *b_TracknHitAll;
TBranch *b_TracknHitTIB;
TBranch *b_TracknHitTID;
TBranch *b_TracknHitTOB;
TBranch *b_TracknHitTEC;
TBranch *b_TracknHitPXB;
TBranch *b_TracknHitPXF;
TBranch *b_TrackisHitL1;
TBranch *b_TrackPV;
TBranch *b_TrackSV;
TBranch *b_TrackPVweight;
TBranch *b_TrackSVweight;
TBranch *b_Trackcategory;
TBranch *b_TrackisfromSV;
//--------------------------------------
// primary vertex information
//--------------------------------------
TBranch *b_PV_x;
TBranch *b_PV_y;
TBranch *b_PV_z;
TBranch *b_PV_ex;
TBranch *b_PV_ey;
TBranch *b_PV_ez;
TBranch *b_PV_chi2;
TBranch *b_PV_ndf;
TBranch *b_PV_isgood;
TBranch *b_PV_isfake;
// CTag information
TBranch* b_CTag_Jet_CvsB;
TBranch* b_CTag_Jet_CvsBN;
TBranch* b_CTag_Jet_CvsBP;
TBranch* b_CTag_Jet_CvsL;
TBranch* b_CTag_Jet_CvsLN;
TBranch* b_CTag_Jet_CvsLP;
// CommPlotProducer(TChain *supertree=0, bool infotree1=true, bool infotree2=false, int sqrts=13);
CommPlotProducer(TChain *supertree=0);
virtual ~CommPlotProducer();
virtual Int_t Cut(Long64_t entry);
virtual Int_t GetEntry(Long64_t entry);
virtual Long64_t LoadTree(Long64_t entry);
virtual void Init(TChain *tree);
//virtual void Loop(int trigger, float PtMin_Cut, float PtMax_Cut, TString outputname);
virtual void Loop(TString trigname, int trigger, float PtMin_Cut, float PtMax_Cut, TString output_name, TString puRewFileName = "", bool officalRecipe = false);
//virtual void Loop(TString trignam, int trigger, float PtMin_Cut, float PtMax_Cut, TString outputname);
//virtual void Loop(TString trignam, int trigger, float PtMin_Cut, float PtMax_Cut, TString outputname, TString PUreweightingFile);
virtual Bool_t Notify();
virtual void Show(Long64_t entry = -1);
virtual void AddHisto(TString name, TString title, int nbins, float min, float max);
virtual void AddHisto2D(TString name,TString title,int nbins,float min,float max,int nbins2,float min2,float max2);
virtual void FillHisto_int(int flavour, bool isGS, int number, int value, double weight);
virtual void FillHisto_float(int flavour, bool isGS, int number, float value, double weight);
virtual void FillHisto_floatFromMap(TString name, int flavour, bool isGS, float value, double weight);
virtual void FillHisto_intFromMap(TString name, int flavour, bool isGS, int value, double weight);
virtual void FillHisto2D_int_floatFromMap(TString name, int flavour, bool isGS, int value, float value2, double weight);
virtual void FillHisto2D_float_floatFromMap(TString name, int flavour, bool isGS, float value, float value2, double weight);
virtual void SetPersonalConfig( bool trackloop, bool svloop, bool tagvarloop, bool tagvarcsvloop);
virtual void SetPU(vector<float> PUvector, TString PUdataFile);
virtual void SetPU2012_S10(TString PUdataFile);
virtual void SetPU2012_S7(TString PUdataFile);
virtual void SetPV();
virtual void SetPV(TString rootpv, TString rootdata="-1");
virtual void SetPVdata(TString rootpv, TString rootdata="-1");
virtual void SetXS();
virtual double GetEvtWeight() ;
virtual void SetXS(TString generator, bool MuEnriched, int TeV) ;
virtual void SetInfo(TString generator, bool qcd, int TeV) ;
virtual void Fill_nevent(double n15,double n20, double n30,double n50,double n80,double n120,double n170,double n300,double n470,double n600, double n800, double n1000);
virtual void SetSumXS();
virtual void SetPS();
virtual double GetPS(int run,int lb);
bool passPFMuonSelection(int muidx);
bool passMuonSelection(int muidx, int ijet);
bool passTrigger2016(TString trigger, int pttrig);
bool passTrigger2017(TString trigger, int pttrig);
};
#endif
#ifdef CommPlotProducer_cxx
//CommPlotProducer::CommPlotProducer(TChain *superTree, bool infotree1, bool infotree2, int sqrts)
CommPlotProducer::CommPlotProducer(TChain *superTree)
{
numb_histo = 0;
numb_histo2D = 0;
use15_20 =false;
use20_30 =false;
use30_50 =false;
use50_80 =false;
use80_120 =false;
use120_170 =false;
use170_300 =false;
use300_470 =false;
use470_600 =false;
use600_800 =false;
use800_1000=false;
use1000_inf=false;
use15_30 =false;
use120_150 =false;
use150_inf =false;
n15_20 =0;
n20_30 =0;
n30_50 =0;
n50_80 =0;
n80_120 =0;
n120_170 =0;
n170_300 =0;
n300_470 =0;
n470_600 =0;
n600_800 =0;
n800_1000=0;
n1000_inf=0;
n15_30 =0;
n120_150 =0;
n150_inf =0;
// sqrtstev=sqrts;
// produceJetProbaTree=infotree1;
// produceNewAlgoTree=infotree2;
produceJetProbaTree = false;
produceSVinfo = false;
produceTagVarTree =false;
produceTagVarCSVTree=false;
produceRecoMuon =false;
usePFMuon =true;
usePUrew = false;
puweight=false;
setprescale=false;
npsVal=0;
if (superTree==0) {
TChain *newchain = new TChain("btagana/ttree");
newchain->Add("/opt/sbg/data/data1/cms/cbeluffi/BTag_2013_01_10/Commissioning/CMSSW_5_3_2_patch4/src/RecoBTag/PerformanceMeasurements/test/NTuples_80_120/*.root");
superTree=newchain;
}
Init(superTree);
}
CommPlotProducer::~CommPlotProducer()
{
if (!fChain) return;
delete fChain->GetCurrentFile();
}
Int_t CommPlotProducer::GetEntry(Long64_t entry)
{
// Read contents of entry.
if (!fChain) return 0;
return fChain->GetEntry(entry);
}
Long64_t CommPlotProducer::LoadTree(Long64_t entry)
{
// Set the environment to read one entry
if (!fChain) return -5;
Long64_t centry = fChain->LoadTree(entry);
if (centry < 0) return centry;
if (fChain->GetTreeNumber() != fCurrent) {
fCurrent = fChain->GetTreeNumber();
Notify();
}