1 #ifndef AliFJWrapper_HH
2 #define AliFJWrapper_HH
14 #include <fastjet/PseudoJet.hh>
15 #include <fastjet/JetDefinition.hh>
16 #include <fastjet/ClusterSequence.hh>
17 #include <fastjet/ClusterSequenceArea.hh>
18 #include <fastjet/AreaDefinition.hh>
19 #include <fastjet/SISConePlugin.hh>
23 class AliFastJetHeader;
25 class AliFJWrapper : public TNamed
29 AliFJWrapper(const char *name, const char *title);
31 virtual ~AliFJWrapper();
33 virtual void CopySettingsFrom (const AliFJWrapper& wrapper);
34 virtual void SetupFromHeader (const AliFastJetHeader* header);
36 virtual void AddInputVector (double px, double py, double pz, double E, int index = -99999);
38 virtual void AddInputVector (const fastjet::PseudoJet& vec, int index = -99999);
39 virtual void AddInputVectors(const std::vector<fastjet::PseudoJet>& vecs, int offsetIndex = -99999);
42 virtual void Clear(const Option_t* opt = "");
44 void SetStrategy (const fastjet::Strategy strat) { fStrategy = strat; }
45 void SetAlgorithm (const fastjet::JetAlgorithm algor) { fAlgor = algor; }
46 void SetRecombScheme (const fastjet::RecombinationScheme scheme) { fScheme = scheme; }
47 void SetAreaType (const fastjet::AreaType atype) { fAreaType = atype; }
49 void SetupAlgorithmfromOpt (const char *option);
50 void SetupStrategyfromOpt (const char *option);
51 void SetupSchemefromOpt (const char *option);
52 void SetupAreaTypefromOpt (const char *option);
54 void SetNRepeats (const int nrepeat) { fNGhostRepeats = nrepeat; }
55 void SetGhostArea (const double gharea) { fGhostArea = gharea; }
56 void SetMaxRap (const double maxrap) { fMaxRap = maxrap; }
57 void SetR (const double r) { fR = r; }
58 void SetGridScatter (const double gridSc) { fGridScatter = gridSc; }
59 void SetKtScatter (const double ktSc) { fKtScatter = ktSc; }
60 void SetMeanGhostKt (const double meankt) { fMeanGhostKt = meankt; }
61 void SetPluginAlgor (const int plugin) { fPluginAlgor = plugin; }
62 void SetUseArea4Vector(const bool useA4v) { fUseArea4Vector = useA4v; }
64 virtual void GetMedianAndSigma(double& median, double& sigma, int remove = 0);
65 virtual double GetMedianUsedForBgSubtraction() {return fMedianUsedForBgSubtraction;}
67 const std::vector<fastjet::PseudoJet> GetInputVectors() { return fInputVectors;}
68 const std::vector<fastjet::PseudoJet> GetInclusiveJets() { return fInclusiveJets; }
70 std::vector<fastjet::PseudoJet> GetJetConstituents(const unsigned int idx);
72 fastjet::ClusterSequenceArea* GetClusterSequence() { return fClustSeq; }
74 std::vector<double> GetSubtractedJetsPts(const double median_pt = -1, const bool sorted = false);
76 double GetJetArea (const unsigned int idx);
77 double GetJetSubtractedPt (const unsigned int idx);
82 AliFJWrapper(const AliFJWrapper& wrapper);
83 AliFJWrapper& operator = (const AliFJWrapper& wrapper);// {return *this;}
85 std::vector<fastjet::PseudoJet> fInputVectors; //!
86 std::vector<fastjet::PseudoJet> fInclusiveJets; //!
88 std::vector<double> fSubtractedJetsPt; //!
90 fastjet::AreaDefinition *fAreaDef;//!
91 fastjet::VoronoiAreaSpec *fVorAreaSpec;//!
92 fastjet::GhostedAreaSpec *fGhostedAreaSpec;//!
93 fastjet::JetDefinition *fJetDef;//!
94 fastjet::JetDefinition::Plugin *fPlugin;//!
95 fastjet::RangeDefinition *fRange;//!
96 fastjet::ClusterSequenceArea *fClustSeq;//!
98 // same as in the alifjheader
99 fastjet::Strategy fStrategy; //!
100 fastjet::JetAlgorithm fAlgor; //!
101 fastjet::RecombinationScheme fScheme; //!
102 fastjet::AreaType fAreaType; //!
104 int fNGhostRepeats; //!
105 double fGhostArea; //!
109 // not included in the header (within AliFastJetHeader)
110 // no setters for the moment - used default values in the constructor
111 double fGridScatter; //!
112 double fKtScatter; //!
113 double fMeanGhostKt; //!
114 int fPluginAlgor; //!
117 double fMedianUsedForBgSubtraction; //!
118 bool fUseArea4Vector; //!
120 virtual void SubtractBackground(const double median_pt = -1);
122 ClassDef(AliFJWrapper, 0)