]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetMatching.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskJetMatching.h
index fe7c5833b331e07e95f9e29ab085f1e55c50d3c9..07bc4713cf6344c8e869f78de8c0ad595a025987 100644 (file)
@@ -20,7 +20,7 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
 {
     public:
         // enumerators
-        enum matchingSceme      {kGeoEtaPhi, kGeoR};
+        enum matchingSceme      {kGeoEtaPhi, kGeoR, kDiJet};
         enum sourceBKG          {kNoSourceBKG, kSourceRho, kSourceLocalRho};
         enum targetBKG          {kNoTargetBKG, kTargetRho, kTargetLocalRho};
         // constructors, destructor
@@ -29,6 +29,7 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
         virtual                 ~AliAnalysisTaskJetMatching();
         // setting up the task and technical aspects
         void                    ExecOnce();
+        virtual Bool_t          Notify();
         virtual void            UserCreateOutputObjects();
         TH1F*                   BookTH1F(const char* name, const char* x, Int_t bins, Double_t min, Double_t max, Bool_t append = kTRUE);
         TH2F*                   BookTH2F(const char* name, const char* x, const char* y, Int_t binsx, Double_t minx, Double_t maxx, Int_t binsy, Double_t miny, Double_t maxy, Bool_t append = kTRUE);
@@ -78,6 +79,7 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
         // methods
         void                    DoGeometricMatchingEtaPhi();
         void                    DoGeometricMatchingR();
+        void                    DoDiJetMatching();
         void                    DoConstituentMatching();
         void                    GetBijection();
         void                    PostMatchedJets();
@@ -94,6 +96,8 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
                 fMatchedJetContainer[i][0] = 0x0; fMatchedJetContainer[i][1] = 0x0; }
             fNoMatchedJets = 0;
         }
+        AliEmcalJet*            GetLeadingJet(TClonesArray* source, Int_t &leadingJetIndex, Double_t etaMin = -.7, Double_t etaMax = .7);
+        AliEmcalJet*            GetSubLeadingJet(TClonesArray* source, Int_t leadingJetIndex, Int_t &subLeadingJetIndex);
         void                    PrintInfo() const;
         virtual void            Terminate(Option_t* option);
 
@@ -125,7 +129,7 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
         TH1F*                   fHistTargetJetPt;       //! pt of target jets
         TH1F*                   fHistMatchedJetPt;      //! pt of matched jets
         TH2F*                   fHistSourceMatchedJetPt;//! pt or source vs matched jets
-        TH1F*                   fHistDetectorResponseProb;      //! det prob
+        TH2F*                   fHistDetectorResponseProb;      //! det prob
         TH1F*                   fHistNoConstSourceJet;  //! number of constituents of source jet
         TH1F*                   fHistNoConstTargetJet;  //! number of constituents of target jet
         TH1F*                   fHistNoConstMatchJet;   //! number of constituents of matched jets
@@ -133,6 +137,10 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
         TProfile*               fProfFracPtJets;        //! sum pt fraction for matched jets
         TProfile*               fProfFracNoMatched;     //! no of constituents fraction found / jet
         TProfile*               fProfFracNoJets;        //! no of consstituents fraction jet / jet
+        TH2F*                   fHistDiJet;             //! matched dijet eta, phi
+        TH2F*                   fHistDiJetLeadingJet;   //! leading jet (for dijet) eta, phi
+        TH1F*                   fHistDiJetDPhi;         //! dijet dphi
+        TH1F*                   fHistDiJetDPt;          //! dijet dpt
         TH1F*                   fHistAnalysisSummary;   //! flags
         TProfile*               fProfQAMatched;         //! QA spreads of matched jets
         TProfile*               fProfQA;                //! QA spreads of source and target jets
@@ -147,11 +155,16 @@ class AliAnalysisTaskJetMatching : public AliAnalysisTaskEmcalJet
         Float_t                 fMinFracRecoveredConstituents;  // minimium fraction of constituents that needs to be found
         Float_t                 fMinFracRecoveredConstituentPt; // minimium fraction of constituent pt that needs to be recovered
         Bool_t                  fGetBijection;          // get bijection of source and matched jets
+        // pythia ntrials xsec bookkeeping
+        TH1F*                   fh1Trials;              //! sum of trails (in Notify)
+        TH1F*                   fh1AvgTrials;           //! average sum of trials (in Run)
+        TProfile*               fh1Xsec;                //! pythia cross section and trials
+        Float_t                 fAvgTrials;             // average number of trails per event
 
         AliAnalysisTaskJetMatching(const AliAnalysisTaskJetMatching&);                  // not implemented
         AliAnalysisTaskJetMatching& operator=(const AliAnalysisTaskJetMatching&);       // not implemented
 
-        ClassDef(AliAnalysisTaskJetMatching, 5);
+        ClassDef(AliAnalysisTaskJetMatching, 6);
 };
 
 #endif