#include <TTask.h>
#include "AliEMCALJet.h"
+#include <TString.h>
class TClonesArray;
class TH2F;
class AliEMCALHadronCorrection;
class AliEMCALJetFinder : public TTask {
+ friend class AliEMCALJetMicroDst; //PH Temporary solution
public:
AliEMCALJetFinder();
AliEMCALJetFinder(const char* name, const char *title);
virtual ~AliEMCALJetFinder();
virtual void Init();
- virtual void Find(Int_t ncell, Int_t ncell_tot, Float_t etc[30000],
+ virtual void Find(Int_t ncell, Int_t ncelltot, Float_t etc[30000],
Float_t etac[30000], Float_t phic[30000],
- Float_t min_move, Float_t max_move, Int_t mode,
- Float_t prec_bg, Int_t ierror);
+ Float_t minmove, Float_t maxmove, Int_t mode,
+ Float_t precbg, Int_t ierror);
virtual void Find();
virtual void FindChargedJet();
virtual void FindTracksInJetCone();
virtual void SetPtCut(Float_t par = 1.);
virtual void SetMomentumSmearing(Bool_t flag = kFALSE) {fSmear = flag;}
virtual void SetEfficiencySim(Bool_t flag = kFALSE) {fEffic = flag;}
- virtual void SetSamplingFraction(Float_t par = 12.9) {fSamplingF = par;}
+ virtual void SetSamplingFraction(Float_t par) {fSamplingF = par;}
+ virtual void SetEnergyWeightingFlag(Bool_t flag) {fWeightingMethod = flag;}
+ virtual void SetEMCALWeight(Float_t par) {fEMCALWeight = par;}
+ virtual void SetTrackWeight(Float_t par) {fTrackWeight = par;}
virtual void SetIncludeK0andN(Bool_t flag = kFALSE) {fK0N = flag;}
// Correction of hadronic energy
virtual void SetHadronCorrector(AliEMCALHadronCorrection* corr)
void SetParametersForBgSubtraction
(Int_t mode=0, Float_t minMove=0.05, Float_t maxMove=0.15, Float_t precBg=0.035);
// virtual void Print(Option_t* option="") const; // *MENU*
-
- Bool_t GetWriteKey() {return fWrite;}
+ void SetRandomBg(Bool_t flag) {fRandomBg = flag;}
+ Bool_t GetWriteKey() const {return fWrite;}
//AliEMCALJet* GetJetT() {return fJetT[0];}
AliEMCALJet* GetJetT(Int_t n = 0) {return fJetT[n];}
virtual void DrawHistsForTuning(Int_t mode=0); // *MENU*
virtual void PrintParameters(Int_t mode=0); // *MENU*
- virtual const Char_t* GetFileNameForParameters(Char_t* dir="RES/");
+ virtual const Char_t* GetFileNameForParameters(const char* dir="RES/");
// Access to Results
- virtual Int_t Njets();
- virtual Float_t JetEnergy(Int_t);
- virtual Float_t JetPhiL(Int_t);
- virtual Float_t JetPhiW(Int_t);
- virtual Float_t JetEtaL(Int_t);
- virtual Float_t JetEtaW(Int_t);
- TH2F* GetLego() {return fLego;}
- TH2F* GetLegoB() {return fLegoB;}
- TH2F* GetLegoEMCAL() {return fhLegoEMCAL;}
- TH2F* GethEff() {return fhEff;}
- TH1F* GetCellEt() {return fhCellEt;}
- TH1F* GetCellEMCALEt() {return fhCellEMCALEt;}
- TH1F* GetTrackPt() {return fhTrackPt;}
- TH1F* GetTrackPtBcut() {return fhTrackPtBcut;}
- TList* GetHistsList() {return fHistsList;}
- Int_t GetNChTpc() {return fNChTpc;}
- void DrawLego(Char_t *opt="lego"); // *MENU*
- void DrawLegoEMCAL(Char_t *opt="lego"); // *MENU*
+ virtual Int_t Njets() const;
+ virtual Float_t JetEnergy (Int_t count) const;
+ virtual Float_t JetPhiL (Int_t count) const;
+ virtual Float_t JetPhiW (Int_t count) const ;
+ virtual Float_t JetEtaL (Int_t count) const ;
+ virtual Float_t JetEtaW (Int_t count) const;
+ TH2F* GetLego() const {return fLego;}
+ TH2F* GetLegoB() const {return fLegoB;}
+ TH2F* GetLegoEMCAL() const {return fhLegoEMCAL;}
+ TH2F* GetLegoTracks() const {return fhLegoTracks;}
+ TH2F* GethEff() const {return fhEff;}
+ TH1F* GetCellEt() const {return fhCellEt;}
+ TH1F* GetCellEMCALEt() const {return fhCellEMCALEt;}
+ TH1F* GetTrackPt() const {return fhTrackPt;}
+ TH1F* GetTrackPtBcut() const {return fhTrackPtBcut;}
+ TList* GetHistsList() const {return fHistsList;}
+ Int_t GetNChTpc() const {return fNChTpc;}
+ Bool_t GetEnergyWeightingFlag() const {return fWeightingMethod ;}
+ Float_t GetEMCALWeight() const {return fEMCALWeight;}
+ Float_t GetTrackWeight() const {return fTrackWeight;}
+ void DrawLego(const char *opt="lego"); // *MENU*
+ void DrawLegoEMCAL(const char *opt="lego"); // *MENU*
void DrawLegos(); // *MENU*
+ void DrawLegoBackground(const char *opt="lego"); // *MENU*
Bool_t IsThisPartonsOrDiQuark(Int_t pdg);
// I/O
- virtual void SetOutputFileName(char* name) {fOutFileName = name;}
+ virtual void SetOutputFileName(const char* name) {fOutFileName = name;}
virtual void FillFromHits(Int_t flag = 0);
virtual void FillFromHitFlaggedTracks(Int_t flag = 0);
virtual void FillFromDigits(Int_t flag = 0);
virtual void FillFromParticles();
virtual void FillFromPartons();
- virtual void SaveBackgroundEvent();
+ virtual void SaveBackgroundEvent(const char *name="");
virtual void InitFromBackground();
virtual void AddJet(const AliEMCALJet& jet);
virtual void WriteJets();
virtual void ResetJets();
- virtual TClonesArray* Jets() {return fJets;}
- private:
- virtual void BookLego();
- virtual void DumpLego();
- virtual void ResetMap();
- virtual Float_t PropagatePhi(Float_t pt, Float_t charge, Bool_t& curls);
- virtual void RearrangeParticlesMemory(Int_t npart);
+ virtual TClonesArray* Jets() const {return fJets;}
+ const char* GetNameOfVariant();
+
+ virtual Bool_t IsFolder() const;
+ virtual void Browse(TBrowser* b);
+
+
+
+
protected:
+ TString fBGFileName; // file name for background
+ Float_t fEMCALWeight; // EMCal energy weighting
+ Float_t fTrackWeight; // Track energy weighting
+ Bool_t fRandomBg; // Flag for Random Background
Bool_t fWrite; // Key for writing
+ Bool_t fWeightingMethod; // Key for writing
TClonesArray* fJets; //! List of Jets
TH2F* fLego; //! Lego Histo
TH2F* fLegoB; //! Lego Histo Backg
TH1F* fhTrackPt; //! Pt distr. for charge particles
TH1F* fhTrackPtBcut; //! Pt distr. for charge particles + cut due to magnetic field
TH1F* fhChPartMultInTpc;//! Ch. part. multiplicity in TPC acceptance
+ TH1F* fhSinTheta; //! sin(theta)
TCanvas* fC1; //! first canvas for drawing
TList* fHistsList; //! List of hists - 4-mar-2002
AliEMCALJet* fJetT[10]; //! Jet temporary storage
Float_t fPrecBg; // max value of change for BG (in %)
Int_t fError; // error variables
- char* fOutFileName; //! Output file name
+ const char* fOutFileName; //! Output file name
TFile* fOutFile; //! Output file
TFile* fInFile; //! Output file
Int_t fEvent; //! Processed event
+ private:
+ virtual void BookLego();
+ Float_t WeightedJetEnergy(Float_t eta, Float_t phi);
+ Float_t EMCALConeEnergy(Float_t eta, Float_t phi);
+ Float_t TrackConeEnergy(Float_t eta, Float_t phi);
+ virtual void DumpLego();
+ virtual void ResetMap();
+ virtual Float_t PropagatePhi(Float_t pt, Float_t charge, Bool_t& curls);
+ virtual void RearrangeParticlesMemory(Int_t npart);
- ClassDef(AliEMCALJetFinder,2) // JetFinder for EMCAL
+ ClassDef(AliEMCALJetFinder,5) // JetFinder for EMCAL
}
;
#endif // ALIEMCALJetFinder_H