19 fastjet::AreaDefinition& AreaDef, fastjet::Selector selector_bkgd )
20 : fastjet::ClusterSequenceArea ( InOrigParticles, JetDef, AreaDef ), OrigParticles ( InOrigParticles ),
21 selector_bkgd (selector_bkgd)
46 : fastjet::ClusterSequenceArea ( InOrigParticles, JetDef, 0 ), OrigParticles ( InOrigParticles )
107 #if FASTJET_VERSION_NUMBER >= 30100
134 if (
dPhi>=0 && jets.size() >= 2 ) {
140 std::vector< std::pair<int,double> > IndexPt;
141 for (
unsigned int i=0;
i<jets.size(); ++
i ){
143 IndexPt.push_back( std::pair<int,double>(
i, jets.at(
i) ? -jets.at(
i)->perp2() : 0.0) );
152 i0 = IndexPt.at(0).first;
153 i1 = IndexPt.at(1).first;
156 double phi0 = jets.at(i0)->phi();
157 double phi1 = jets.at(i1)->phi();
168 for (
int i=0;
i< int( jets.size() ) ; ++
i ){
169 if (
i==i0 )
continue;
170 if (
i==i1 )
continue;
186 while ( phi <-
pi ) phi += 2.0*
pi;
187 while ( phi >
pi ) phi -= 2.0*
pi;
204 bool IsMatched (
const std::vector<fastjet::PseudoJet>& jetset1,
const std::vector<fastjet::PseudoJet>& jetset2,
const double Rmax )
211 if ( jetset1.size() != jetset2.size() )
return false;
213 std::vector<fastjet::PseudoJet> j2copy = jetset2;
214 for (
int j1 = 0; j1 < int( jetset1.size() ) ; ++j1 ){
215 bool j1matched=
false;
216 for ( std::vector<fastjet::PseudoJet>::iterator pj2=j2copy.begin() ; pj2!=j2copy.end(); ++pj2 ){
217 if ( jetset1.at(j1).delta_R( *pj2 ) < Rmax ){
232 if ( !j1matched )
return false;
236 if ( j2copy.size() >0 )
return false;
241 bool IsMatched (
const std::vector<fastjet::PseudoJet>& jetset1,
const fastjet::PseudoJet& reference,
const double Rmax )
243 for (
int j1 = 0; j1 < int (jetset1.size()) ; ++ j1 ){
244 if ( jetset1.at(j1).delta_R( reference ) < Rmax ){
253 bool IsMatched (
const fastjet::PseudoJet& jet1,
const fastjet::PseudoJet& jet2,
const double Rmax )
255 return jet1.delta_R( jet2 ) < Rmax;
260 return TLorentzVector( pj.px(), pj.py(), pj.pz(), pj.E() );
269 return fastjet::PseudoJet ( *lv );