StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StjJetVariationTrack.h
1 // -*- mode: c++;-*-
2 // $Id: StjJetVariationTrack.h,v 1.1 2008/09/12 22:33:01 tai Exp $
3 // Copyright (C) 2008 Tai Sakuma <sakuma@bnl.gov>
4 #ifndef STJJETVARIATIONTRACK_H
5 #define STJJETVARIATIONTRACK_H
6 
7 #include "StjJetVariation.h"
8 
9 #include <TLorentzVector.h>
10 
12 
13 public:
14  StjJetVariationTrack(double ratio = 0.1)
15  : _ratio(ratio) { }
16  virtual ~StjJetVariationTrack() { }
17 
18  StjJet operator()(const StjJet& jet)
19  {
20  StjJet ret(jet);
21 
22  TLorentzVector p4In;
23  p4In.SetPtEtaPhiM(ret.pt, ret.eta, ret.phi, ret.m);
24 
25  double newPt = (1.0 + _ratio*(1 - jet.neuRt))*p4In.Pt();
26  double newE = (1.0 + _ratio*(1 - jet.neuRt))*p4In.E();
27 
28  TLorentzVector p4Out;
29  p4Out.SetPtEtaPhiE(newPt, p4In.Eta(), p4In.Phi(), newE);
30 
31  ret.pt = p4Out.Pt();
32  ret.m = p4Out.M();
33 
34  return ret;
35  }
36 
37 private:
38 
39  double _ratio;
40 
41  ClassDef(StjJetVariationTrack, 1)
42 
43 };
44 
45 #endif // STJJETVARIATIONTRACK_H