]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALJetFinder.h
- option for adding energy of all particles (ich == 2)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinder.h
index 74284d6f2f16afc9cf63538e48134fefc9195f30..02572f1d2eafe1ddbb4e5fcc4ca8fb4d8ed3cf5e 100644 (file)
 #include "AliEMCALJet.h"
 
 class TClonesArray;
-class AliEMCALHadronCorrection;
-
 class TH2F;
 class TH1F;
 class TCanvas;
+class TList;
+class AliEMCALHadronCorrection;
 
 class AliEMCALJetFinder : public TTask {
  public:
@@ -29,6 +29,7 @@ class AliEMCALJetFinder : public TTask {
                      Float_t min_move, Float_t max_move, Int_t mode,
                      Float_t prec_bg, Int_t ierror);
     virtual void  Find();
+    virtual void  FindChargedJet();
     virtual void  FindTracksInJetCone();
     virtual void  Test();
     virtual void  BuildTrackFlagTable();
@@ -44,7 +45,10 @@ class AliEMCALJetFinder : public TTask {
     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)
@@ -61,7 +65,8 @@ class AliEMCALJetFinder : public TTask {
     //    virtual void Print(Option_t* option="") const;    // *MENU*
 
     Bool_t GetWriteKey() {return fWrite;}
-    AliEMCALJet* GetJetT() {return fJetT[0];}
+  //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/");
@@ -73,16 +78,24 @@ class AliEMCALJetFinder : public TTask {
     virtual Float_t JetPhiW(Int_t);
     virtual Float_t JetEtaL(Int_t);  
     virtual Float_t JetEtaW(Int_t);
-    virtual TH2F* GetLego() {return fLego;}
+    TH2F*   GetLego()  {return fLego;}
+    TH2F*   GetLegoB() {return fLegoB;}
     TH2F*   GetLegoEMCAL() {return fhLegoEMCAL;}
+    TH2F*   GetLegoTracks() {return fhLegoTracks;}
     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;}
+    Bool_t GetEnergyWeightingFlag() {return fWeightingMethod ;}
+    Float_t GetEMCALWeight() {return fEMCALWeight;}
+    Float_t GetTrackWeight() {return fTrackWeight;}
     void    DrawLego(Char_t *opt="lego");         // *MENU*
     void    DrawLegoEMCAL(Char_t *opt="lego");    // *MENU*
     void    DrawLegos();                          // *MENU*
+    Bool_t  IsThisPartonsOrDiQuark(Int_t pdg);
     // I/O
     virtual void SetOutputFileName(char* name) {fOutFileName = name;}
     virtual void FillFromHits(Int_t flag = 0);
@@ -100,12 +113,17 @@ class AliEMCALJetFinder : public TTask {
     virtual TClonesArray* Jets() {return fJets;}
  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);
+    Float_t HCConeEnergy(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);
  protected:
     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
@@ -117,8 +135,9 @@ class AliEMCALJetFinder : public TTask {
     TH1F*                          fhCellEMCALEt;    //! Et distr. for cells from fLegoEMCAL
     TH1F*                          fhTrackPt;        //! Pt distr. for charge particles
     TH1F*                          fhTrackPtBcut;    //! Pt distr. for charge particles + cut due to magnetic field
-    TH1F*                          fh;// ??
+    TH1F*                          fhChPartMultInTpc;//! Ch. part. multiplicity in TPC acceptance
     TCanvas*                       fC1;              //! first canvas for drawing
+    TList*                         fHistsList;       //! List of hists - 4-mar-2002
     AliEMCALJet*                   fJetT[10];        //! Jet temporary storage
     AliEMCALHadronCorrection*      fHadronCorrector; //! Pointer to hadronic correction
     Int_t                          fHCorrection;     //  Hadron correction flag
@@ -133,7 +152,7 @@ class AliEMCALJetFinder : public TTask {
     Bool_t                         fSmear;           //  Flag for momentum smearing
     Bool_t                         fEffic;           //  Flag for efficiency simulation
     Bool_t                         fK0N;             //  Flag for efficiency simulation
-    Int_t                          fNjets;           //! Number of Jets
+    Int_t                          fNjets;           //! Number of Jetsp
     Float_t                        fDeta;            //! eta cell size 
     Float_t                        fDphi;            //! phi cell size
     Int_t                          fNcell;           //! number of cells
@@ -147,17 +166,22 @@ class AliEMCALJetFinder : public TTask {
     Float_t                        fEtCell[30000];   //! Cell Energy
     Float_t                        fEtaCell[30000];  //! Cell eta
     Float_t                        fPhiCell[30000];  //! Cell phi
-    Int_t*                         fTrackList;       //! List of selected tracks
-    Int_t*                         fTrackListB;      //! List of selected tracks in Bg
     Int_t                          fNt;              //! number of tracks
+    Int_t                          fNChTpc;          //! number of ch.part in TPC
+
     Int_t                          fNtS;             //! number of tracks selected
+    Int_t*                         fTrackList;       //! List of selected tracks
     Float_t*                       fPtT;             //! Pt   of tracks 
     Float_t*                       fEtaT;            //! Eta  of tracks
     Float_t*                       fPhiT;            //! Phi  of tracks
+    Int_t*                         fPdgT;            //! PDG code of tracks
     Int_t                          fNtB;             //! number of tracks in Bg
+    Int_t*                         fTrackListB;      //! List of selected tracks in Bg
     Float_t*                       fPtB;             //! Pt   of tracks in Bg
     Float_t*                       fEtaB;            //! Eta  of tracks in Bg
     Float_t*                       fPhiB;            //! Phi  of tracks in Bg
+    Int_t*                         fPdgB;            //! PDG  of tracks in Bg
 
     // parameter for jet_finder_ua1
     Int_t                          fMode;            // key for BG subtraction
@@ -170,14 +194,9 @@ class AliEMCALJetFinder : public TTask {
     TFile*                         fOutFile;         //! Output file
     TFile*                         fInFile;          //! Output file
     Int_t                          fEvent;           //! Processed event
-
-    ClassDef(AliEMCALJetFinder,2)        // JetFinder for EMCAL
+    Float_t                       fEMCALWeight;
+    Float_t                       fTrackWeight;
+    ClassDef(AliEMCALJetFinder,3)        // JetFinder for EMCAL
 }
 ;
 #endif // ALIEMCALJetFinder_H
-
-
-
-
-
-