Fork me on GitHub

source: git/modules/TreeWriter.h@ 8b04b31

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 8b04b31 was 7c0fcd5, checked in by Pavel Demin <demin@…>, 10 years ago

delete duplicate license file and prepend GPLv3 header to all source code files

  • Property mode set to 100644
File size: 2.6 KB
Line 
1/*
2 * Delphes: a framework for fast simulation of a generic collider experiment
3 * Copyright (C) 2012-2014 Universite catholique de Louvain (UCL), Belgium
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef TreeWriter_h
20#define TreeWriter_h
21
22/** \class TreeWriter
23 *
24 * Fills ROOT tree branches.
25 *
26 * $Date$
27 * $Revision$
28 *
29 *
30 * \author P. Demin - UCL, Louvain-la-Neuve
31 *
32 */
33
34#include "classes/DelphesModule.h"
35
36#include <map>
37
38class TClass;
39class TObjArray;
40class TRefArray;
41
42class Candidate;
43class ExRootTreeBranch;
44
45class TreeWriter: public DelphesModule
46{
47public:
48
49 TreeWriter();
50 ~TreeWriter();
51
52 void Init();
53 void Process();
54 void Finish();
55
56private:
57
58 void FillParticles(Candidate *candidate, TRefArray *array);
59
60 void ProcessParticles(ExRootTreeBranch *branch, TObjArray *array);
61 void ProcessVertices(ExRootTreeBranch *branch, TObjArray *array);
62 void ProcessTracks(ExRootTreeBranch *branch, TObjArray *array);
63 void ProcessTowers(ExRootTreeBranch *branch, TObjArray *array);
64 void ProcessPhotons(ExRootTreeBranch *branch, TObjArray *array);
65 void ProcessElectrons(ExRootTreeBranch *branch, TObjArray *array);
66 void ProcessMuons(ExRootTreeBranch *branch, TObjArray *array);
67 void ProcessTauJets(ExRootTreeBranch *branch, TObjArray *array);
68 void ProcessJets(ExRootTreeBranch *branch, TObjArray *array);
69 void ProcessMissingET(ExRootTreeBranch *branch, TObjArray *array);
70 void ProcessScalarHT(ExRootTreeBranch *branch, TObjArray *array);
71 void ProcessRho(ExRootTreeBranch *branch, TObjArray *array);
72 void ProcessWeight(ExRootTreeBranch *branch, TObjArray *array);
73 void ProcessHectorHit(ExRootTreeBranch *branch, TObjArray *array);
74
75#if !defined(__CINT__) && !defined(__CLING__)
76 typedef void (TreeWriter::*TProcessMethod)(ExRootTreeBranch *, TObjArray *); //!
77
78 typedef std::map< ExRootTreeBranch *, std::pair< TProcessMethod, TObjArray * > > TBranchMap; //!
79
80 TBranchMap fBranchMap; //!
81
82 std::map< TClass *, TProcessMethod > fClassMap; //!
83#endif
84
85 ClassDef(TreeWriter, 1)
86};
87
88#endif
Note: See TracBrowser for help on using the repository browser.