]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/JetTasks/AliAnalysisTaskUE.h
Transition PWG4/JetTaske -> PWGJE
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskUE.h
diff --git a/PWG4/JetTasks/AliAnalysisTaskUE.h b/PWG4/JetTasks/AliAnalysisTaskUE.h
deleted file mode 100644 (file)
index 59c43ef..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-#ifndef ALIANALYSISTASKUE_H
-#define ALIANALYSISTASKUE_H
-
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-////////////////////////////////////////////////////////////////////////
-//
-// Analysis class for Underlying Event studies
-//
-// Look for correlations on the tranverse regions to 
-// the leading charged jet
-//
-// This class needs as input AOD with track and Jets.
-// The output is a list of histograms
-//
-// AOD can be either connected to the InputEventHandler  
-// for a chain of AOD files 
-// or 
-// to the OutputEventHandler
-// for a chain of ESD files, so this case class should be 
-// in the train after the Jet finder
-//
-//    Arian.Abrahantes.Quintana@cern.ch 
-//    Ernesto.Lopez.Torres@cern.ch
-//    vallero@physi.uni-heidelberg.de
-// 
-////////////////////////////////////////////////////////////////////////
-
-#include "AliAnalysisTask.h"
-
-class AliAnalyseUE;
-class AliHistogramsUE;
-class AliAODEvent;
-class AliAODInputHandler;
-class AliESDEvent;
-class TH1F;
-class TH2F;
-class TH1I;
-class TProfile;
-class TTree;
-class TVector3;
-
-class  AliAnalysisTaskUE : public AliAnalysisTask
-  {
-  public:
-    AliAnalysisTaskUE(const char* name="AliAnalysisTaskUE");
-    virtual           ~AliAnalysisTaskUE() {if ( fListOfHistos ) delete fListOfHistos; }
-    AliAnalysisTaskUE(const  AliAnalysisTaskUE &det);
-    AliAnalysisTaskUE&   operator=(const  AliAnalysisTaskUE &det);
-       
-    // return instance of the singleton
-    static  AliAnalysisTaskUE* Instance();
-      
-    // Implementation of interace methods
-    virtual     Bool_t Notify();
-    virtual     void   ConnectInputData(Option_t *);
-    virtual     void   CreateOutputObjects();
-    virtual     void   Exec(Option_t *option);
-    virtual     void   Terminate(Option_t *);
-
-    //  Setters/Getters
-    virtual     void         SetDebugLevel( Int_t level )  { fDebug = level; }
-    virtual     Int_t        GetDebugLevel() const  { return fDebug; }
-    
-    void       SetPtRangeInHist( Int_t bin, Double_t min, Double_t max ) {
-                       fBinsPtInHist = bin; 
-                       fMinJetPtInHist = min; 
-                       fMaxJetPtInHist = max; 
-                       }
-
-    // Read AODs
-    void         SelectAODBranch(const char* val)      { fAODBranch = val;   }
-    virtual       TString       GetAODBranch() const   { return fAODBranch;   }
-    virtual       AliAODEvent*   GetAOD() const         { return fAOD; } 
-
-    // Setters/Getters for MC
-    void       SetConstrainDistance(Bool_t val1, Double_t val2){ fMinDistance = val2; fConstrainDistance = val1;}
-    void       SetSimulateChJetPt(){fSimulateChJetPt = kTRUE;}
-    void       SetUseAODMCParticle(){fUseAliStack = kFALSE;}
-    void       SetUseMCBranch(){fUseMCParticleBranch = kTRUE;}
-
-    virtual Bool_t     GetConstrainDistance()   const  {return fConstrainDistance;}
-    virtual Double_t   GetMinDistance()         const  {return fMinDistance;}
-    virtual Bool_t     GetSimulateChJetPt()     const  {return fSimulateChJetPt;}
-    virtual Bool_t     GetUseAODMCParticle()    const  {return fUseAliStack;}
-    virtual Bool_t     GetUseMCParticleBranch() const  {return fUseMCParticleBranch;}
-
-    //Setters for Events QA
-    void  SetZVertex( Double_t val ) { fZVertex = val; }
-    void  SetTracksInVertex( Int_t val ){ fnTracksVertex = val; }
-    
-    // Setters/Getters for UE Analysis
-    void   SetAnaTopology( Int_t val )       { fAnaType = val;    }
-    void   SetConePosition(Int_t val)        { fConePosition= val; }
-    void   SetConeRadius( Double_t val )     { fConeRadius = val; }
-    void   SetDoNotNormalizeQuantities()     { fIsNorm2Area = kFALSE; }
-    void   SetFilterBit( UInt_t val )        { fFilterBit = val;  }
-    void   SetJetsOnFly( Bool_t val )        { fJetsOnFly = val;  }
-    void   SetPtSumOrdering( Int_t val )     { fOrdering = val;   }
-    void   SetRegionType( Int_t val )        { fRegionType = val; }
-    void   SetUseChargeHadrons( Bool_t val ) { fUseChargeHadrons = val; }
-    void   SetUseChPartJet( Int_t val )      { fUseChPartJet = val; }
-    void   SetUseNegativeChargeType()        { fUsePositiveCharge = kFALSE; }
-    void   SetUseSingleCharge()              { fUseSingleCharge = kTRUE; } 
-    
-    virtual Int_t     GetAnaTopology()             const     { return fAnaType; }
-    virtual Int_t     GetConePosition()             const     { return fConePosition; }
-    virtual Double_t  GetConeRadius()                      const     { return fConeRadius; }
-    virtual Bool_t    GetDoNotNormalizeQuantities() const     { return fIsNorm2Area; }
-    virtual UInt_t    GetFilterBit()               const     { return fFilterBit;  }
-    virtual Bool_t    GetJetsOnFly()               const     { return fJetsOnFly;  }
-    virtual Int_t     GetPtSumOrdering()            const     { return fOrdering;   }
-    virtual Int_t     GetRegionType()               const     { return fRegionType; }
-    virtual Bool_t    GetUseChargeHadrons()         const     { return fUseChargeHadrons; }
-    virtual Int_t     GetUseChPartJet()             const     { return fUseChPartJet; }
-    virtual Bool_t    GetUseNegativeChargeType()    const     { return fUsePositiveCharge; }
-    virtual Bool_t    GetUseSingleCharge()          const     { return fUseSingleCharge; } 
-    
-    // Jet cuts
-    void   SetJet1EtaCut( Double_t val )      { fJet1EtaCut = val; }
-    void   SetJet2DeltaPhiCut( Double_t val ) { fJet2DeltaPhiCut = val; }
-    void   SetJet2RatioPtCut( Double_t val )  { fJet2RatioPtCut = val; }
-    void   SetJet3PtCut( Double_t val )       { fJet3PtCut = val; }
-    void   SetPtMinChPartJet( Double_t val )  { fChJetPtMin = val; }
-    
-    virtual Double_t   GetJet1EtaCut()       const      { return fJet1EtaCut; }
-    virtual Double_t   GetJet2DeltaPhiCut()  const     { return fJet2DeltaPhiCut; }
-    virtual Double_t   GetJet2RatioPtCut()   const      { return fJet2RatioPtCut; }
-    virtual Double_t   GetJet3PtCut()        const      { return fJet3PtCut; }
-    virtual Double_t   GetPtMinChPartJet()   const      { return fChJetPtMin; }
-    
-    // track cuts
-    void   SetTrackEtaCut( Double_t val ) { fTrackEtaCut = val; }
-    void   SetTrackPtCut( Double_t val )  { fTrackPtCut = val; }
-
-    virtual Double_t   GetTrackEtaCut() const     { return fTrackEtaCut; }
-    virtual Double_t   GetTrackPtCut()  const     { return fTrackPtCut; }
-    
-
-    AliHistogramsUE*    fHistosUE;        //! points to AliHistogramsUE class   
-  protected:
-  static AliAnalysisTaskUE*     fgTaskUE;        // Pointer to single instance
-
-  private:
-    void         AddSettingsTree();    
-    void         AnalyseUE();
-    void         FillAvePartPtRegion( Double_t leadingE, Double_t ptMax, Double_t ptMin );
-    void         FillMultRegion( Double_t leadingE, Double_t nTrackPtmax, Double_t nTrackPtmin, Double_t ptMin );
-    void         FillSumPtRegion( Double_t leadingE, Double_t ptMax, Double_t ptMin );
-    TObjArray*   FindChargedParticleJets();
-    Int_t        IsTrackInsideRegion(TVector3 *jetVect, TVector3 *partVect);
-    void         QSortTracks(TObjArray &a, Int_t first, Int_t last);
-    void         SetRegionArea(TVector3 *jetVect);
-    TObjArray*   SortChargedParticles();
-    void         WriteSettings();
-    
-    AliAnalyseUE*       fAnaUE;           //! points to AliAnalyseUE class
-    AliAODEvent*        fAOD;             //! AOD Event 
-    TString             fAODBranch;       //  Jet branch name from standard AOD
-    Int_t               fDebug;           //  Debug flag
-    TList*              fListOfHistos;    //  Output list of histograms
-    
-    // Config
-    Int_t              fBinsPtInHist;     //  # bins for Pt histos range
-    Bool_t             fIsNorm2Area;      // Apply Area Normalization to collected observables
-    Double_t           fMaxJetPtInHist;   //  max Jet Pt value for histo range
-    Double_t           fMinJetPtInHist;   //  min Jet Pt value for histo range
-    
-    // For MC
-    Bool_t             fConstrainDistance;    // Constrain Distance between rec jet and pyth
-    Double_t           fMinDistance;          // Minimum distance between rec jet and pyth
-    Bool_t             fSimulateChJetPt;      // Naive simulation of charged jet Pt from original Jet in MC Header
-    Bool_t             fUseAliStack;          // Use AliSatck for particle info otherwise "mcparticles" branch in AOD
-    Bool_t             fUseMCParticleBranch;  // Run Over mcparticles branch in AOD
-    
-    // Cuts Events type
-    Int_t              fnTracksVertex;        // QA tracks pointing to principal vertex (= 3 default) 
-    Double_t           fZVertex;              // Position of Vertex in Z direction
-    
-    // Cuts UE analysis
-    Int_t              fAnaType;              // Analysis type on jet topology: 
-                                                 //     1=inclusive  (default) 
-                                                 //     2=back to back inclusive
-                                                 //     3=back to back exclusive
-                                                 //     4=Pt max (max Pt track in region)
-                                                 //     5=gama jet (back to back) ???
-                                                 //  Minimum bias
-                                                 //     31 = Semi jet (charged leading particle jets)
-                                                 //     32 = Random jetcone  ?
-                                                 //     33 = Swiss chees   ?
-    
-    
-    Int_t              fConePosition;         // This parameter set how will cone center in transversal zone will be set
-                                                 //    1 : To be used in any jet topology (default value)
-                                                 //        eta_cone = eta_leadingjet
-                                                 //        phi_cone = phi_leadingjet + - 90
-                                                  //    2 : To be used in multiple jet topology (code will cry otherwise)
-                                                  //        eta_cone = (eta_leadingjet + eta_subleadingjet)/2
-                                                  //        phi_cone = phi_leadingjet + - 90
-    
-    Double_t           fConeRadius;           // if selected Cone-like region type, set Radius (=0.7 default)
-    
-    UInt_t             fFilterBit;            // Select tracks from an specific track cut (default 0xFF all track selected)
-    
-    Bool_t             fJetsOnFly;            // if jets are reconstructed on the fly from AOD tracks (see ConnectInputData() )
-    
-    // UE analysis is conducted in different type of regions
-    // Transverse are those like defined in: R. Field Acta Physica Polonica B. Vol 36 No. 2 pg 167 (2005) 
-    // Cone regions like defined in: Phys. Rev. D 70, 072002 (2004)
-    Int_t              fRegionType;           // 1 = transverse regions (default)
-                                              // 2 = cone regions   
-    
-
-
-    Bool_t             fUseChargeHadrons;     // Only use charge hadrons
-    Bool_t             fUseChPartJet;         // Use "Charged Particle Jet" instead of jets from AOD see FindChargedParticleJets()
-    
-    // Theoreticians ask for tools charge-aware
-    // especially those which are related to multiplicity and MC-tunings
-    // see arXiv:hep-ph/0507008v3
-    Bool_t             fUsePositiveCharge;    //If Single type of charge used then set which one (=kTRUE default positive)
-    Bool_t             fUseSingleCharge;      //Make analysis for a single type of charge (=kFALSE default)
-    
-    Int_t              fOrdering;             //  Pt and multiplicity summation ordering:
-                       //     1=CDF-like -independent sorting according quantity to be scored: Double sorting- (default)
-                       //        if Pt summation will be scored take Pt minimum between both zones and 
-                       //        fill Pt Max. and Min. histog. accordingly
-                       //        if Multiplicity summation will be scored take Mult. minimum between both zones and 
-                       //        fill Mult Max and Min histog. accordingly
-                       //       Bib:
-                       //     2=Marchesini-like (Only Pt sorting: Single sorting)
-                       //        sort only according Pt summation scored, find minimum between both zones and
-                       //        fill Pt and Multiplicity Max and Min summation histog. following only this criterium
-                       //        Bib: Phys. Rev. D 38, 3419 (1988)
-                       //     3=Nameless pt per track single sorting
-                       //        sort according to pt per track scored in each transverse zone 
-                       //        lowest values indicates minimum zone.   
-                       //     4=User Selection sorting (NOTE: USER must implement it within cxx)
-   
-    
-    // Jet cuts 
-    Double_t           fChJetPtMin;       // Min Pt for charged Particle Jet
-    Double_t           fJet1EtaCut;       // |jet1 eta| < fJet1EtaCut   (fAnaType = 1,2,3)
-    Double_t           fJet2DeltaPhiCut;  // |Jet1.Phi - Jet2.Phi| < fJet2DeltaPhiCut (fAnaType = 2,3)
-    Double_t           fJet2RatioPtCut;   // Jet2.Pt/Jet1Pt > fJet2RatioPtCut  (fAnaType = 2,3)
-    Double_t           fJet3PtCut;        // Jet3.Pt < fJet3PtCut  (fAnaType = 3)
-
-    // track cuts
-    Double_t           fTrackEtaCut;      // Eta cut on tracks in the regions (fRegionType=1)
-    Double_t           fTrackPtCut;       // Pt cut of tracks in the regions
-   
-    // MC cross-section 
-    Double_t           fAvgTrials;        // average trials used to fill the fh1Trials histogram in case we do not have trials on a event by event basis
-    
-    /*
-    // Histograms
-    TH1F*  fhNJets;                  //! number of reco. jets or leading particles
-    TH1F*  fhEleadingPt;             //! pT distribution of leading-jet (leading-particle)
-    
-    TH1F*  fhMinRegPtDist;           //! pT distribution in MIN region
-    TH1F*  fhRegionMultMin;          //! average pT in MIN region
-    TH1F*  fhMinRegAvePt;            //! sum pT in MIN region
-    TH1F*  fhMinRegSumPt;            //! maximum particle pT in MAX region
-    TH1F*  fhMinRegMaxPtPart;        //! sum pT vs. multiplicity in MIN region
-    TH1F*  fhMinRegSumPtvsMult;      //!
-    
-    TH2F*  fhdNdEtaPhiDist;          //! phi and eta correlation with leading-jet (leading particle)
-    TH2F*  fhFullRegPartPtDistVsEt;  //! particle pT distribution vs. transverse energy in FULL region
-    TH2F*  fhTransRegPartPtDistVsEt; //! particle pT distribution vs. transverse energy in TRANSVERSE (MIN+MAX) region 
-    
-    TH1F*  fhRegionSumPtMaxVsEt;     //! sum pT vs. transverse energy in MAX region
-    TH1I*  fhRegionMultMax;          //! multiplicity in MAX region 
-    TH1F*  fhRegionMultMaxVsEt;      //! multiplicity vs. transverse energy in MAX region
-    TH1F*  fhRegionSumPtMinVsEt;     //! sum pT vs. transverse energy in MIN region
-    TH1F*  fhRegionMultMinVsEt;      //! multiplicity vs. transverse energy in MIN region
-    TH1F*  fhRegionAveSumPtVsEt;     //! average sum pT in 2 regions
-    TH1F*  fhRegionDiffSumPtVsEt;    //! difference sum pT in 2 regions
-    
-    TH1F*  fhRegionAvePartPtMaxVsEt; //! average particle pT vs. transverse energy in MAX region
-    TH1F*  fhRegionAvePartPtMinVsEt; //! average particle pT vs. transverse energy in MIN region
-    TH1F*  fhRegionMaxPartPtMaxVsEt; //! maximum particle pT vs. transverse energy in MAX region
-    
-    TH2F*  fhRegForwardMult;         //! multiplicity in FORWARD region
-    TH2F*  fhRegForwardSumPtvsMult;  //! sum pT vs. multiplicity in FORWARD region
-    TH2F*  fhRegBackwardMult;        //! multiplicity in BACKWARD region
-    TH2F*  fhRegBackwardSumPtvsMult; //! sum pT vs. multiplicity in BACKWARD region
-    TH2F*  fhRegForwardPartPtDistVsEt; //! particle pT distribution vs. transverse energy in FORWARD region
-    TH2F*  fhRegBackwardPartPtDistVsEt; //! particle pT distribution vs. transverse energy in BACKWARD
-    TH2F*  fhRegTransMult;         //! multiplicity in TRANSVERSE (MIN+MAX) region
-    TH2F*  fhRegTransSumPtVsMult;    //! sum pT vs. multiplicity in TRANSVERSE (MIN+MAX) region
-    TH2F*  fhMinRegSumPtJetPtBin;    //!
-    TH2F*  fhMaxRegSumPtJetPtBin;    //!
-    TH1F*  fhVertexMult;             //! vertex multiplicity
-    TProfile*  fh1Xsec;                    //! cross-section from MC   
-    TH1F*  fh1Trials;               //! number of trials from MC
-    */
-
-    ClassDef( AliAnalysisTaskUE, 6); // Analysis task for Underlying Event analysis
-  };
-
-#endif
-
-