Fork me on GitHub

source: svn/trunk/Utilities/Fastjet/include/fastjet/ClusterSequencePassiveArea.hh@ 544

Last change on this file since 544 was 11, checked in by severine ovyn, 16 years ago

Fastjet added; CDFCones directory has been changed

File size: 3.2 KB
Line 
1//STARTHEADER
2// $Id: ClusterSequencePassiveArea.hh,v 1.1 2008-11-06 14:32:08 ovyn Exp $
3//
4// Copyright (c) 2005-2007, Matteo Cacciari, Gavin Salam and Gregory Soyez
5//
6//----------------------------------------------------------------------
7// This file is part of FastJet.
8//
9// FastJet is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; either version 2 of the License, or
12// (at your option) any later version.
13//
14// The algorithms that underlie FastJet have required considerable
15// development and are described in hep-ph/0512210. If you use
16// FastJet as part of work towards a scientific publication, please
17// include a citation to the FastJet paper.
18//
19// FastJet is distributed in the hope that it will be useful,
20// but WITHOUT ANY WARRANTY; without even the implied warranty of
21// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22// GNU General Public License for more details.
23//
24// You should have received a copy of the GNU General Public License
25// along with FastJet; if not, write to the Free Software
26// Foundation, Inc.:
27// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28//----------------------------------------------------------------------
29//ENDHEADER
30
31#ifndef __FASTJET_CLUSTERSEQUENCEPASSIVEAREA_HH__
32#define __FASTJET_CLUSTERSEQUENCEPASSIVEAREA_HH__
33
34
35#include "Utilities/Fastjet/include/fastjet/PseudoJet.hh"
36#include "Utilities/Fastjet/include/fastjet/ClusterSequence1GhostPassiveArea.hh"
37#include<iostream>
38#include<vector>
39
40FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
41
42//using namespace std;
43
44/// Class that behaves essentially like ClusterSequence except
45/// that it also provides access to the area of a jet (which
46/// will be a random quantity... Figure out what to do about seeds
47/// later...)
48class ClusterSequencePassiveArea : public ClusterSequence1GhostPassiveArea {
49public:
50
51 /// constructor based on JetDefinition and PassiveAreaSpec
52 template<class L> ClusterSequencePassiveArea
53 (const std::vector<L> & pseudojets,
54 const JetDefinition & jet_def,
55 const GhostedAreaSpec & area_spec,
56 const bool & writeout_combinations = false) ;
57
58 /// return an empty area that's appropriate to the passive area
59 /// determination carried out
60 virtual double empty_area(const RangeDefinition & range) const;
61
62private:
63
64 /// does the initialisation and running specific to the passive
65 /// areas class
66 void _initialise_and_run_PA (const JetDefinition & jet_def,
67 const GhostedAreaSpec & area_spec,
68 const bool & writeout_combinations = false);
69
70};
71
72
73
74
75template<class L> ClusterSequencePassiveArea::ClusterSequencePassiveArea
76(const std::vector<L> & pseudojets,
77 const JetDefinition & jet_def,
78 const GhostedAreaSpec & area_spec,
79 const bool & writeout_combinations) {
80
81 // transfer the initial jets (type L) into our own array
82 _transfer_input_jets(pseudojets);
83
84 // run the clustering for passive areas
85 _initialise_and_run_PA(jet_def, area_spec, writeout_combinations);
86
87}
88
89
90
91FASTJET_END_NAMESPACE
92
93#endif // __FASTJET_CLUSTERSEQUENCEPASSIVEAREA_HH__
Note: See TracBrowser for help on using the repository browser.