LCTuple  1.6.0
JetBranches.h
1 /*
2  * =====================================================================================
3  *
4  * Filename: JetBranches.h
5  *
6  * Description: JetBranches holds branches created from a jet collection
7  * created by Satoru Jet Finder processor.
8  * JetBranches has two steerable parameters which are optionally
9  * set in the steering file:
10  * - writeExtraParameters: if set to TRUE, the fill function
11  * calculates some extra parameters using parameters provided
12  * by the jet finding algorithm. Default value is FALSE.
13  * See class data members for a list of extra parameters.
14  * - writeTaggingParameters: if set to TRUE, the fill function
15  * creates branches for jet parameters coming form flavor tagging
16  * processor. If no flavor tagging processr is used, this should
17  * be set to FALSE to prevent errors. Default value is FALSE.
18  * See class data members for a list of extra parameters.
19  *
20  * Version: 1.0
21  * Created: 05/26/2015 02:35:22 PM
22  * Revision: none
23  * Compiler: gcc
24  *
25  * Author: Claude Duerig, Felix Mueller, Aliakbar Ebrahimi
26  * Organization: DESY
27  *
28  * =====================================================================================
29  */
30 
31 #ifndef JetBranches_h
32 #define JetBranches_h 1
33 
34 /* ##### HEADER FILE INCLUDES ################################################### */
35 #include <vector>
36 #include "LCTupleConf.h"
37 #include "UTIL/PIDHandler.h"
38 
39 #include "CollectionBranches.h"
40 
41 
42 class TTree ;
43 
44 namespace EVENT{
45  class LCCollection ;
46  class LCCEvent ;
47 }
48 
56 /*
57  * =====================================================================================
58  * Class: JetBranches
59  * Description: holds branches created by a SatoruJetFinder processor
60  * =====================================================================================
61  */
63 {
64  public:
65  /* ==================== LIFECYCLE ======================================= */
66  JetBranches () {}; /* constructor */
67  virtual ~JetBranches() {} ; /* Destructor */
68 
69  /* ==================== ACCESSORS ======================================= */
70 
71  // Following two functions are used to access parameters set in a steering file
72  void writeExtraParameters(bool setextraparameters){ _writeExtraParameters = setextraparameters; };
73  void writeTaggingParameters(bool settaggingparameters){ _writeTaggingParameters = settaggingparameters; };
74 
75  /* ==================== MUTATORS ======================================= */
76 
77  /* ==================== OPERATORS ======================================= */
78 
79  virtual void initBranches( TTree* tree, const std::string& prefix="" ) ; //const char* prefix=0) ;
80  virtual void fill(const EVENT::LCCollection* col, EVENT::LCEvent* evt ) ;
81 
82  private:
83  /* ==================== METHODS ======================================= */
84 
85  /* ==================== DATA MEMBERS ======================================= */
86 
87  bool _writeExtraParameters; /* Whether to write calculated parameters */
88  bool _writeTaggingParameters; /* Whether to write parameters from tagging processor */
89 
90  unsigned int _nj ; /* Number of Jets */
91 
92  // Deafault jet parameters
93  float _jmox[ LCT_JET_MAX ] ; /* Jet X-Momentum */
94  float _jmoy[ LCT_JET_MAX ] ; /* Jet Y-Momentum */
95  float _jmoz[ LCT_JET_MAX ] ; /* Jet Z-Momentum */
96  float _jmas[ LCT_JET_MAX ] ; /* Jet Mass */
97  float _jene[ LCT_JET_MAX ] ; /* Jet Energy */
98  float _jcha[ LCT_JET_MAX ] ; /* Jet Charge */
99  float _jcov0[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 0 */
100  float _jcov1[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 1 */
101  float _jcov2[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 2 */
102  float _jcov3[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 3 */
103  float _jcov4[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 4 */
104  float _jcov5[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 5 */
105  float _jcov6[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 6 */
106  float _jcov7[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 7 */
107  float _jcov8[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 8 */
108  float _jcov9[ LCT_JET_MAX ] ; /* Jet Covariance matrix element 9 */
109 
110  // Used for tagging parameters
111  float _btag[ LCT_JET_MAX ] ; /* ? */
112  float _ctag[ LCT_JET_MAX ] ; /* ? */
113  float _bctag[ LCT_JET_MAX ] ; /* ? */
114  float _bcat[ LCT_JET_MAX ] ; /* ? */
115  float _otag[ LCT_JET_MAX ] ; /* ? */
116  int algo; /* ? */
117  int ibtag; /* ? */
118  int ictag; /* ? */
119  int iotag; /* ? */
120  int ibcat; /* ? */
121  PIDHandler *pid;
122  int _jnpid ; /* ? */
123 
124  // Used for extra parameters
125  float _jevis ; /* Jet Visible Energy */
126  float _jPxvis; /* Jet Momentum (x-component) */
127  float _jPyvis; /* Jet Momentum (y-component) */
128  float _jPzvis; /* Jet Momentum (z-component) */
129  float _jPtvis; /* Visible transverse momentum */
130  float _jmom[ LCT_JET_MAX ] ; /* Jet Total Momentum */
131  float _jmmax ; /* Maximum mass of the Jets */
132  float _jcost[ LCT_JET_MAX ] ; /* ? */
133  float _jTheta; /* ? */
134  float _jcosTheta; /* Angle between z-axis and jet */
135  float _jmvis; /* Visible mass */
136  float _jEmiss; /* Missing energy */
137  float _jMmiss; /* Missing Mass */
138  float _jMmissq; /* Missing mass squared */
139 
140  unsigned int _njetpfo[ LCT_JET_MAX ] ; /* Number of PFOs in a jet */
141 
142 
143 }; /* ----- end of class JetBranches ----- */
144 
145 #endif
Base class for branches of collections.
Definition: CollectionBranches.h:23
JetBranches holds branches created from a ReconstructedParticle collection.
Definition: JetBranches.h:62