-
Notifications
You must be signed in to change notification settings - Fork 0
/
EcalTimePhyTreeContent.h
550 lines (467 loc) · 15.7 KB
/
EcalTimePhyTreeContent.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
#ifndef EcalTimePhyTreeContent_h
#define EcalTimePhyTreeContent_h
#include "TChain.h"
#define MAXSC 50
#define MAXC 200
#define MAXXTALINC 25 // CAUTION:
// if you change this, you need to change by hand the hard-coded '25' which is in "chain -> Branch("xtalInBCHashedIndex",..." in EcalTimePhyTreeContent.cc
#define MAXVTX 40
#define MAXHCALRECHITS 100
#define MAXCALOTOWERS 100
#define MAXMU 20
#define MAXTOWERSINTPGSUMMARY 100
#define MAXL1OBJS 100
#define MAXJET 10
#define MAXELE 10
#define MAXPHO 10
#define MAXOBJ 50
struct EcalTimePhyTreeContent
{
// Flags
static bool trgVariables;
static bool ecalVariables;
static bool ecalShapeVariables;
static bool hcalVariables;
static bool muonVariables;
static bool tkAssVariables;
static bool tpgVariables;
static bool l1Variables;
unsigned int runId;
unsigned int lumiSection;
unsigned int unixTime; /// Time in seconds since January 1, 1970.
unsigned int orbit;
unsigned int bx;
unsigned int eventId;
unsigned int eventNaiveId;
unsigned int timeStampLow;
unsigned int timeStampHigh;
int trgCut ;
//trigger variables
bool isRPCL1;
bool isDTL1;
bool isCSCL1;
bool isECALL1;
bool isHCALL1;
bool isECALL1Bx[3]; //
bool isRPCL1Bx [3]; //
bool isDTL1Bx [3]; //
bool isCSCL1Bx [3]; //
bool isHCALL1Bx[3]; //
//ecalVariables variables
int nSuperClusters;
int nBarrelSuperClusters;
int nEndcapSuperClusters;
float SCPIdx[MAXSC] ;
float superClusterRawEnergy[MAXSC];
float superClusterPhiWidth[MAXSC];
float superClusterEtaWidth[MAXSC];
float superClusterPhi[MAXSC];
float superClusterEta[MAXSC];
float superClusterX[MAXSC];
float superClusterY[MAXSC];
float superClusterZ[MAXSC];
float superClusterVertexX[MAXSC];
float superClusterVertexY[MAXSC];
float superClusterVertexZ[MAXSC];
float sMin[MAXSC];
float sMaj[MAXSC];
int nClustersInSuperCluster[MAXSC];
int xtalIndexInSuperCluster[MAXSC];
// basic cluster variables
int nClusters;
int clusterMom[MAXC];
float CPIdx[MAXC] ;
float clusterEnergy[MAXC];
float clusterTransverseEnergy[MAXC];
float clusterE1[MAXC];
float clusterE2[MAXC];
float clusterTime[MAXC];
float clusterPhi[MAXC];
float clusterEta[MAXC];
int clusterXtals[MAXC];
int clusterXtalsAbove3Sigma[MAXC];
unsigned int clusterMaxId[MAXC];
unsigned int cluster2ndId[MAXC];
int nXtalsInCluster[MAXC];
// clustershape variables for basic clusters
float clusterE2x2[MAXC];
float clusterE3x2[MAXC];
float clusterE3x3[MAXC];
float clusterE4x4[MAXC];
float clusterE5x5[MAXC];
float clusterE2x5Right[MAXC];
float clusterE2x5Left[MAXC];
float clusterE2x5Top[MAXC];
float clusterE2x5Bottom[MAXC];
float clusterE3x2Ratio[MAXC];
float clusterCovPhiPhi[MAXC];
float clusterCovEtaEta[MAXC];
float clusterCovEtaPhi[MAXC];
float clusterLat[MAXC];
float clusterPhiLat[MAXC];
float clusterEtaLat[MAXC];
float clusterZernike20[MAXC];
float clusterZernike42[MAXC];
// xtal variables inside a basic cluster
int xtalInBCHashedIndex[MAXC][MAXXTALINC];
int xtalInBCIEta[MAXC][MAXXTALINC];
int xtalInBCIPhi[MAXC][MAXXTALINC];
float xtalInBCEta[MAXC][MAXXTALINC];
float xtalInBCPhi[MAXC][MAXXTALINC];
int xtalInBCIx[MAXC][MAXXTALINC];
int xtalInBCIy[MAXC][MAXXTALINC];
int xtalInBCFlag[MAXC][MAXXTALINC];
float xtalInBCEnergy[MAXC][MAXXTALINC];
float xtalInBCTime[MAXC][MAXXTALINC];
float xtalInBCTimeErr[MAXC][MAXXTALINC];
float xtalInBCAmplitudeADC[MAXC][MAXXTALINC];
float xtalInBCChi2[MAXC][MAXXTALINC];
float xtalInBCOutOfTimeChi2[MAXC][MAXXTALINC];
float xtalInBCSwissCross[MAXC][MAXXTALINC];
// vertex variables
int nVertices;
bool vtxIsFake[MAXVTX];
int vtxNTracks[MAXVTX];
float vtxChi2[MAXVTX];
float vtxNdof[MAXVTX];
float vtxX[MAXVTX];
float vtxDx[MAXVTX];
float vtxY[MAXVTX];
float vtxDy[MAXVTX];
float vtxZ[MAXVTX];
float vtxDz[MAXVTX];
// hcal variables
int hbNRecHits;
int hbRecHitDetId[MAXHCALRECHITS];
float hbRecHitEta[MAXHCALRECHITS];
float hbRecHitPhi[MAXHCALRECHITS];
float hbRecHitE[MAXHCALRECHITS];
float hbRecHitTime[MAXHCALRECHITS];
int nCaloTowers;
float caloTowerEmEnergy[MAXCALOTOWERS];
float caloTowerHadEnergy[MAXCALOTOWERS];
float caloTowerOuterEnergy[MAXCALOTOWERS];
float caloTowerEmEta[MAXCALOTOWERS];
float caloTowerEmPhi[MAXCALOTOWERS];
float caloTowerHadEta[MAXCALOTOWERS];
float caloTowerHadPhi[MAXCALOTOWERS];
// reco variables
int nJets ;
float jetPx[MAXJET];
float jetPy[MAXJET];
float jetPz[MAXJET];
float jetE[MAXJET];
float jetNDau[MAXJET] ;
float jetCM[MAXJET] ;
float jetCEF[MAXJET] ;
float jetNHF[MAXJET] ;
float jetNEF[MAXJET] ;
float metPx;
float metPy;
float met;
int nElectrons ;
float elePx[MAXELE];
float elePy[MAXELE];
float elePz[MAXELE];
float eleE[MAXELE];
float eleEcalIso[MAXELE];
float eleHcalIso[MAXELE];
float eleTrkIso[MAXELE];
float eleNLostHits[MAXELE];
int nMuons ;
float muPx[MAXMU];
float muPy[MAXMU];
float muPz[MAXMU];
float muE[MAXMU];
float muEcalIso[MAXMU];
float muHcalIso[MAXMU];
float muTrkIso[MAXMU];
int nPhotons ;
float phoPx[MAXPHO];
float phoPy[MAXPHO];
float phoPz[MAXPHO];
float phoE[MAXPHO];
float phoEcalIso[MAXPHO];
float phoHcalIso[MAXPHO];
float phoTrkIso[MAXPHO];
float phoHovE[MAXPHO];
float phoSmin[MAXPHO];
float phoSmaj[MAXPHO];
float phoTime[MAXPHO];
// muon variables
int nRecoMuons;
float muonX[MAXMU];
float muonY[MAXMU];
float muonZ[MAXMU];
float muonPhi[MAXMU];
float muonEta[MAXMU];
float muond0[MAXMU];
float muondz[MAXMU];
float muonPx[MAXMU];
float muonPy[MAXMU];
float muonPz[MAXMU];
float muonP[MAXMU];
float muonPt[MAXMU];
float muonPtError[MAXMU];
float muonCharge[MAXMU];
float muonQOverP[MAXMU];
float muonQOverPError[MAXMU];
float muonNChi2[MAXMU];
float muonNDof[MAXMU];
float muonNHits[MAXMU];
float muonInnerHitX[MAXMU];
float muonInnerHitY[MAXMU];
float muonInnerHitZ[MAXMU];
float muonInnerHitPhi[MAXMU];
float muonInnerHitEta[MAXMU];
float muonInnerHitPx[MAXMU];
float muonInnerHitPy[MAXMU];
float muonInnerHitPz[MAXMU];
float muonInnerHitP[MAXMU];
float muonInnerHitPt[MAXMU];
float muonOuterHitX[MAXMU];
float muonOuterHitY[MAXMU];
float muonOuterHitZ[MAXMU];
float muonOuterHitPhi[MAXMU];
float muonOuterHitEta[MAXMU];
float muonOuterHitPx[MAXMU];
float muonOuterHitPy[MAXMU];
float muonOuterHitPz[MAXMU];
float muonOuterHitP[MAXMU];
float muonOuterHitPt[MAXMU];
float muonInnTkInnerHitX[MAXMU];
float muonInnTkInnerHitY[MAXMU];
float muonInnTkInnerHitZ[MAXMU];
float muonInnTkInnerHitPhi[MAXMU];
float muonInnTkInnerHitEta[MAXMU];
float muonInnTkInnerHitPx[MAXMU];
float muonInnTkInnerHitPy[MAXMU];
float muonInnTkInnerHitPz[MAXMU];
float muonInnTkInnerHitP[MAXMU];
float muonInnTkInnerHitPt[MAXMU];
float muonInnTkOuterHitX[MAXMU];
float muonInnTkOuterHitY[MAXMU];
float muonInnTkOuterHitZ[MAXMU];
float muonInnTkOuterHitPhi[MAXMU];
float muonInnTkOuterHitEta[MAXMU];
float muonInnTkOuterHitPx[MAXMU];
float muonInnTkOuterHitPy[MAXMU];
float muonInnTkOuterHitPz[MAXMU];
float muonInnTkOuterHitP[MAXMU];
float muonInnTkOuterHitPt[MAXMU];
float muonOutTkInnerHitX[MAXMU];
float muonOutTkInnerHitY[MAXMU];
float muonOutTkInnerHitZ[MAXMU];
float muonOutTkInnerHitPhi[MAXMU];
float muonOutTkInnerHitEta[MAXMU];
float muonOutTkInnerHitPx[MAXMU];
float muonOutTkInnerHitPy[MAXMU];
float muonOutTkInnerHitPz[MAXMU];
float muonOutTkInnerHitP[MAXMU];
float muonOutTkInnerHitPt[MAXMU];
float muonOutTkOuterHitX[MAXMU];
float muonOutTkOuterHitY[MAXMU];
float muonOutTkOuterHitZ[MAXMU];
float muonOutTkOuterHitPhi[MAXMU];
float muonOutTkOuterHitEta[MAXMU];
float muonOutTkOuterHitPx[MAXMU];
float muonOutTkOuterHitPy[MAXMU];
float muonOutTkOuterHitPz[MAXMU];
float muonOutTkOuterHitP[MAXMU];
float muonOutTkOuterHitPt[MAXMU];
int muonLeg[MAXMU];
float muonTkLengthInEcalApprox[MAXMU];
float muonTkLengthInEcalDetail[MAXMU];
float muonTkLengthInEcalDetailCurved[MAXMU];
float muonTkLengthInEcalDetailCurved_high[MAXMU];
float muonTkLengthInEcalDetailCurved_low[MAXMU];
float muonTkInternalPointInEcalX[MAXMU];
float muonTkInternalPointInEcalY[MAXMU];
float muonTkInternalPointInEcalZ[MAXMU];
float muonTkExternalPointInEcalX[MAXMU];
float muonTkExternalPointInEcalY[MAXMU];
float muonTkExternalPointInEcalZ[MAXMU];
float muonTkInternalPointInEcalCurvedX[MAXMU];
float muonTkInternalPointInEcalCurvedY[MAXMU];
float muonTkInternalPointInEcalCurvedZ[MAXMU];
float muonTkExternalPointInEcalCurvedX[MAXMU];
float muonTkExternalPointInEcalCurvedY[MAXMU];
float muonTkExternalPointInEcalCurvedZ[MAXMU];
float muonTkInternalPointInEcalCurvedPx[MAXMU];
float muonTkInternalPointInEcalCurvedPy[MAXMU];
float muonTkInternalPointInEcalCurvedPz[MAXMU];
float muonTkExternalPointInEcalCurvedPx[MAXMU];
float muonTkExternalPointInEcalCurvedPy[MAXMU];
float muonTkExternalPointInEcalCurvedPz[MAXMU];
int nMuonCrossedXtals[MAXMU];
int nMuonCrossedXtalsCurved[MAXMU];
int muonCrossedXtalHashedIndex[MAXMU][250];
int muonCrossedXtalHashedIndexCurved[MAXMU][250];
float muonCrossedXtalTkLength[MAXMU][250];
float muonCrossedXtalTkLengthCurved[MAXMU][250];
//trackAssociator variables
float muonTkAtEcalPhi[MAXMU];
float muonTkAtEcalEta[MAXMU];
float muonTkAtEcalX[MAXMU];
float muonTkAtEcalY[MAXMU];
float muonTkAtEcalZ[MAXMU];
float muonTkAtHcalPhi[MAXMU];
float muonTkAtHcalEta[MAXMU];
float muonTkAtHcalX[MAXMU];
float muonTkAtHcalY[MAXMU];
float muonTkAtHcalZ[MAXMU];
float muonEcalEnergy3x3[MAXMU];
float muonEcalEnergy5x5[MAXMU];
float muonEcalEnergyCrossed[MAXMU];
float muonHcalEnergy3x3[MAXMU];
float muonHcalEnergyCrossed[MAXMU];
int muonNCrossedEcalDetId[MAXMU];
unsigned int muonMaxEneEcalDetIdCrossed[MAXMU];
float muonTkLengthInEcalApprox_TkAss[MAXMU];
float muonTkLengthInEcalDetail_TkAss[MAXMU];
// TPG variables
int tpgNTowers;
int tpgIEta[MAXTOWERSINTPGSUMMARY];
int tpgIPhi[MAXTOWERSINTPGSUMMARY];
int tpgNbOfXtals[MAXTOWERSINTPGSUMMARY];
float tpgEnRec[MAXTOWERSINTPGSUMMARY];
int tpgADC[MAXTOWERSINTPGSUMMARY];
int tpgNActiveTriggers;
int tpgActiveTriggers[128];
int tpEmulNTowers;
int tpEmulIEta[MAXTOWERSINTPGSUMMARY];
int tpEmulIPhi[MAXTOWERSINTPGSUMMARY];
int tpEmulADC1[MAXTOWERSINTPGSUMMARY];
int tpEmulADC2[MAXTOWERSINTPGSUMMARY];
int tpEmulADC3[MAXTOWERSINTPGSUMMARY];
int tpEmulADC4[MAXTOWERSINTPGSUMMARY];
int tpEmulADC5[MAXTOWERSINTPGSUMMARY];
// l1Variables
int l1NActiveTriggers;
int l1ActiveTriggers[128];
int l1NActiveTechTriggers;
int l1ActiveTechTriggers[128];
//GT +-1BX
int l1GtNEm;
int l1GtEmBx[MAXL1OBJS];
int l1GtEmIEta[MAXL1OBJS];
int l1GtEmIPhi[MAXL1OBJS];
float l1GtEmEta[MAXL1OBJS];
float l1GtEmPhi[MAXL1OBJS];
int l1GtEmRank[MAXL1OBJS];
float l1GtEmEt[MAXL1OBJS];
// L1 EM Objects
int l1NEmPartIso;
float l1EmPartIsoX[MAXL1OBJS];
float l1EmPartIsoY[MAXL1OBJS];
float l1EmPartIsoZ[MAXL1OBJS];
float l1EmPartIsoEta[MAXL1OBJS];
float l1EmPartIsoPhi[MAXL1OBJS];
float l1EmPartIsoPx[MAXL1OBJS];
float l1EmPartIsoPy[MAXL1OBJS];
float l1EmPartIsoPz[MAXL1OBJS];
float l1EmPartIsoE[MAXL1OBJS];
float l1EmPartIsoPt[MAXL1OBJS];
unsigned int l1EmPartIsoBx[MAXL1OBJS];
int l1EmPartIsoType[MAXL1OBJS];
int l1EmPartIsoCandIEta[MAXL1OBJS];
int l1EmPartIsoCandIPhi[MAXL1OBJS];
int l1EmPartIsoGctCandIndex[MAXL1OBJS];
int l1NEmPartNonIso;
float l1EmPartNonIsoX[MAXL1OBJS];
float l1EmPartNonIsoY[MAXL1OBJS];
float l1EmPartNonIsoZ[MAXL1OBJS];
float l1EmPartNonIsoEta[MAXL1OBJS];
float l1EmPartNonIsoPhi[MAXL1OBJS];
float l1EmPartNonIsoPx[MAXL1OBJS];
float l1EmPartNonIsoPy[MAXL1OBJS];
float l1EmPartNonIsoPz[MAXL1OBJS];
float l1EmPartNonIsoE[MAXL1OBJS];
float l1EmPartNonIsoPt[MAXL1OBJS];
unsigned int l1EmPartNonIsoBx[MAXL1OBJS];
int l1EmPartNonIsoType[MAXL1OBJS];
int l1EmPartNonIsoCandIEta[MAXL1OBJS];
int l1EmPartNonIsoCandIPhi[MAXL1OBJS];
int l1EmPartNonIsoGctCandIndex[MAXL1OBJS];
int l1NGctCandIso;
int l1GctCandIsoIEta[MAXL1OBJS];
int l1GctCandIsoIPhi[MAXL1OBJS];
unsigned int l1GctCandIsoRank[MAXL1OBJS];
bool l1GctCandIsoIsIsolated[MAXL1OBJS];
unsigned int l1GctCandIsoCapBlock[MAXL1OBJS];
unsigned int l1GctCandIsoCapIndex[MAXL1OBJS];
unsigned int l1GctCandIsoBx[MAXL1OBJS];
int l1GctCandIsoCaloRegIndex[MAXL1OBJS];
int l1NGctCandNonIso;
int l1GctCandNonIsoIEta[MAXL1OBJS];
int l1GctCandNonIsoIPhi[MAXL1OBJS];
unsigned int l1GctCandNonIsoRank[MAXL1OBJS];
bool l1GctCandNonIsoIsIsolated[MAXL1OBJS];
unsigned int l1GctCandNonIsoCapBlock[MAXL1OBJS];
unsigned int l1GctCandNonIsoCapIndex[MAXL1OBJS];
unsigned int l1GctCandNonIsoBx[MAXL1OBJS];
int l1GctCandNonIsoCaloRegIndex[MAXL1OBJS];
int l1NCaloCand;
int l1CaloCandIEta[MAXL1OBJS];
int l1CaloCandIPhi[MAXL1OBJS];
int l1CaloCandRctCard[MAXL1OBJS];
int l1CaloCandRctReg[MAXL1OBJS];
int l1CaloCandRctCrate[MAXL1OBJS];
unsigned int l1CaloCandRank[MAXL1OBJS];
bool l1CaloCandIsIsolated[MAXL1OBJS];
unsigned int l1CaloCandBx[MAXL1OBJS];
int l1NCaloReg;
int l1CaloRegIEta[MAXL1OBJS];
int l1CaloRegIPhi[MAXL1OBJS];
int l1CaloRegCapBlock[MAXL1OBJS];
int l1CaloRegCapIndex[MAXL1OBJS];
int l1CaloRegRctCard[MAXL1OBJS];
int l1CaloRegRctReg[MAXL1OBJS];
int l1CaloRegRctCrate[MAXL1OBJS];
unsigned int l1CaloRegRank[MAXL1OBJS];
bool l1CaloRegIsIsolated[MAXL1OBJS];
unsigned int l1CaloRegBx[MAXL1OBJS];
int l1CaloCandIndex[MAXL1OBJS];
//L1 MUON OBJECTS
//l1 muon extra particle
int l1NMuons;//
float l1MuonX[MAXL1OBJS];
float l1MuonY[MAXL1OBJS];
float l1MuonZ[MAXL1OBJS];
float l1MuonEta[MAXL1OBJS];
float l1MuonPhi[MAXL1OBJS];
float l1MuonPx[MAXL1OBJS];
float l1MuonPy[MAXL1OBJS];
float l1MuonPz[MAXL1OBJS];
float l1MuonE[MAXL1OBJS];
float l1MuonPt[MAXL1OBJS];
unsigned int l1MuonBx[MAXL1OBJS];
bool l1MuonIsIsolated[MAXL1OBJS];
bool l1MuonIsMip[MAXL1OBJS];
bool l1MuonIsForward[MAXL1OBJS];
bool l1MuonIsRPC[MAXL1OBJS];
//GMT data
int l1NGmtCand;
int l1GmtCandIEta[MAXL1OBJS], l1GmtCandIPhi[MAXL1OBJS], l1GmtCandIPt[MAXL1OBJS];
float l1GmtCandEta[MAXL1OBJS], l1GmtCandPhi[MAXL1OBJS], l1GmtCandPt[MAXL1OBJS];
int l1GmtCandCharge[MAXL1OBJS];
bool l1GmtCandUseInSingleMuonTrg[MAXL1OBJS];
bool l1GmtCandUseInDiMuonTrg[MAXL1OBJS];
bool l1GmtCandIsMatchedCand[MAXL1OBJS];
bool l1GmtCandIsHaloCand[MAXL1OBJS];
bool l1GmtCandIsol[MAXL1OBJS];
bool l1GmtCandMip[MAXL1OBJS];
int l1GmtCandQuality[MAXL1OBJS];
int l1GmtCandBx[MAXL1OBJS];
};
//typedef EcalTimePhyTreeContent EcalTimeTreeContent;
// ------------------------------------------------------------------------
//! branch addresses settings
void setBranchAddresses(TTree* chain, EcalTimePhyTreeContent& treeVars);
// ------------------------------------------------------------------------
//! create branches for a tree
void setBranches(TTree* chain, EcalTimePhyTreeContent& treeVars);
// ------------------------------------------------------------------------
//! initialize branches
void initializeBranches(TTree* chain, EcalTimePhyTreeContent& treeVars);
#endif