]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/AliAnalysisTaskJetCore.h
coverity fix
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetCore.h
index b2a85d1c5fce3985507293cac0e7345ab7abfb9d..45ce882d6f1961bcadd42ca56e8c6772e6d213a9 100644 (file)
@@ -17,6 +17,7 @@ class TH1I;
 class TH2F;
 class TH3F;
 class THnSparse;
+class TRandom3;
 class AliESDEvent;
 class AliAODExtension;
 class AliAODEvent;
@@ -36,9 +37,11 @@ public:
    virtual void     Terminate(const Option_t*);
 
    virtual Int_t      GetNInputTracks();
-     
+     // Rongrong
+   virtual void     SetRunAzimuthalCorrelation(Bool_t run) {fRunAnaAzimuthalCorrelation=run;}  
    Double_t RelativePhi(Double_t angle1,Double_t angle2);     
-    virtual THnSparse* NewTHnSparseF(const char* name, UInt_t entries);
+   Int_t   GetPhiBin(Double_t phi);
+   virtual THnSparse* NewTHnSparseF(const char* name, UInt_t entries);
    virtual void       GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
    virtual AliVEvent::EOfflineTriggerTypes GetOfflineTrgMask() const { return fOfflineTrgMask; }
    virtual void     GetBranchNames(TString &branch1, TString &branch2) const { branch1 = fJetBranchName[0]; branch2 = fJetBranchName[1]; }
@@ -67,6 +70,8 @@ public:
    virtual void     SetEvtClassMin(Int_t evtClass) { fEvtClassMin = evtClass; }
    virtual void     SetEvtClassMax(Int_t evtClass) { fEvtClassMax = evtClass; }
    virtual void     SetFilterMask(UInt_t i){fFilterMask = i;}
+   virtual void     SetFilterMaskBestPt(UInt_t i){fFilterMaskBestPt = i;}
+   virtual void     SetFilterType(Int_t iType){fFilterType=iType;}
    virtual void     SetRadioFrac(Float_t radiofrac) { fRadioFrac = radiofrac; }
    virtual void     SetMinDist(Float_t minDist) { fMinDist = minDist; }
    virtual void     SetCentMin(Float_t cent) { fCentMin = cent; }
@@ -76,6 +81,23 @@ public:
    virtual void     SetAngStructCloseTracks(Int_t yesno){fAngStructCloseTracks=yesno;}
    virtual void     SetCheckMethods(Int_t yesno){fCheckMethods=yesno;}
    virtual void     SetEventMixing(Int_t yesno){fDoEventMixing=yesno;}
+   virtual void     SetFlagPhiBkg(Int_t yesno){fFlagPhiBkg=yesno;}
+   virtual void     SetFlagEtaBkg(Int_t yesno){fFlagEtaBkg=yesno;}
+   virtual void     SetFlagJetHadron(Int_t yesno){fFlagJetHadron=yesno;}
+   virtual void     SetFlagFrac(Float_t fraction){fFrac=fraction;} 
+   virtual void     SetTTLowRef(Float_t ttlow){fTTLowRef=ttlow;}
+   virtual void     SetTTUpRef(Float_t ttup){fTTUpRef=ttup;}
+   virtual void     SetTTLowSig(Float_t ttlows){fTTLowSig=ttlows;}
+   virtual void     SetTTUpSig(Float_t ttups){fTTUpSig=ttups;}
+   virtual void     SetFlagHardest(Int_t yesno){fHardest=yesno;}
+   virtual void     SetFlagRandom(Int_t yesno){fFlagRandom=yesno;}
+   virtual void     SetFlagOnlyRecoil(Int_t yesno){fFlagOnlyRecoil=yesno;}
+   virtual void     SetFlagOnlyHardest(Int_t yesno){fFlagOnlyHardest=yesno;} 
+   virtual void     SetNRPBins(Int_t bins){fNRPBins=bins;}
+   virtual void     SetSemigoodCorrect(Int_t yesno){fSemigoodCorrect=yesno;}
+   virtual void     SetHolePos(Float_t poshole) { fHolePos = poshole; }
+   virtual void     SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
+   virtual void     SetTrackTypeRec(Int_t i){fTrackTypeRec = i;}
    virtual void     SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; }
    virtual void     SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; }
    virtual void     SetJetPtMin(Float_t pt) { fJetPtMin = pt; }
@@ -85,7 +107,7 @@ public:
    virtual void     SetFillEvent(Bool_t b) { fbEvent = b; }
    virtual void     SetKeepJets(Bool_t b = kTRUE) { fKeepJets = b; }
    virtual void     SetNonStdFile(char* c){fNonStdFile = c;} 
-
+    enum {kTrackUndef = 0, kTrackAOD, kTrackKineAll,kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance};
 
 private:
    // ESD/AOD events
@@ -93,7 +115,8 @@ private:
    AliAODEvent *fAODIn;    //! AOD event for AOD input tracks
     AliAODEvent *fAODOut;    //! AOD event 
     AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
-   Int_t   GetListOfTracks(TList *list);
+    Int_t   GetListOfTracks(TList *list);
+   Int_t   SelectTrigger(TList *list,Double_t minT,Double_t maxT);
    Int_t   GetHardestTrackBackToJet(AliAODJet *jet);
    Int_t   GetListOfTracksCloseToJet(TList *list,AliAODJet *jet);
    // jets to compare
@@ -111,6 +134,8 @@ private:
    Int_t   fEvtClassMin;         // lower bound on event class
    Int_t   fEvtClassMax;         // upper bound on event class
    UInt_t  fFilterMask;            // filter bit for slecected tracks
+   UInt_t  fFilterMaskBestPt;      // filter bit for selected hig pt tracks (best quality)
+   UInt_t  fFilterType;           // type of slected tracks parrallel to filtermask
    Float_t fRadioFrac;                          //!size of the concentric cone
    Float_t fMinDist;   
    Float_t fCentMin;     // lower bound on centrality
@@ -120,18 +145,37 @@ private:
    Int_t   fAngStructCloseTracks;//only constituents or all tracks with R<0.8 for the angular structure
    Int_t   fCheckMethods;     //to look into more detail into the core
    Int_t   fDoEventMixing;
+   Int_t   fFlagPhiBkg;
+   Int_t   fFlagEtaBkg;
+   Int_t   fFlagJetHadron;
+   Float_t fFrac;               //fraction of events to evaluate signal
+   Float_t fTTLowRef;
+   Float_t fTTUpRef;
+   Float_t fTTLowSig;
+   Float_t fTTUpSig;
+   Int_t   fHardest;
+   Int_t   fFlagRandom;
+   Int_t   fFlagOnlyRecoil;
+   Int_t   fFlagOnlyHardest;
+   Int_t   fTrackTypeRec;
+   Float_t   fRPAngle;
+   Int_t   fNRPBins;
+   Int_t   fSemigoodCorrect;
+   Float_t fHolePos;
+   Float_t fHoleWidth; 
    Float_t fJetEtaMin;        // lower bound on eta for found jets
    Float_t fJetEtaMax;        // upper bound on eta for found jets
    Int_t   fNevents;          // number of events
    Int_t   fTindex;           // index reference
    Int_t   fTrigBufferIndex;  //index for the buffering
+   Int_t   fCountAgain;       //index for the buffering
    Float_t fJetPtMin;         // minimum jet pT
    UChar_t fJetTriggerExcludeMask; // mask for jet triggeres to exclude
    Float_t fJetPtFractionMin; // minimum fraction for positiv match of jets
    Int_t   fNMatchJets;       // maximal nb. of jets taken for matching
    Double_t fMatchMaxDist;     // maximal distance of matching jets
    Bool_t  fKeepJets;          // keep jets with negative pt after background subtraction
-  
+   Bool_t fRunAnaAzimuthalCorrelation;        // Flag to run azimuthal correlation between trigger track and recoil jets (Rongrong)  
 
    // output objects
    const Int_t fkNbranches;                   //! number of branches to be read
@@ -152,8 +196,9 @@ private:
    TH2F      *fh2JetCoreMethod2C30;          //Energy fraction in the core C30 method 2
    TH2F      *fh2JetCoreMethod1C60;          //Energy fraction in the core C60 method 1
    TH2F      *fh2JetCoreMethod2C60;          //Energy fraction in the core C60 method 2
-
-     TH2F*      fh2AngStructpt1C10;         //Average two particle correlation function:C10 pt1
+     TH3F*      fh3JetTrackC3060;           //C3060 pt2
+     TH3F*      fh3JetTrackC20;             //C10 pt2
+     TH2F*      fh2AngStructpt1C10;         //Average 
      TH2F*      fh2AngStructpt2C10;         //C10 pt2
      TH2F*      fh2AngStructpt3C10;         //C10 pt3
      TH2F*      fh2AngStructpt4C10;         //C10 pt4
@@ -169,33 +214,27 @@ private:
      TH2F*      fh2AngStructpt2C60;         //C60 pt2
      TH2F*      fh2AngStructpt3C60;         //C60 pt3
      TH2F*      fh2AngStructpt4C60;         //C60 pt4
-     TH2F*      fh2JetsumHT3R2;             //jet shape 02
-     TH2F*      fh2JetsumHT3R2gap;             //jet shape 02
-
-     TH2F*      fh2JetsumHT3R4;             //jet shape 02
-     TH2F*      fh2JetsumHT3R4gap;             //jet shape 02
-
-     TH2F*      fh2JetsumHT3R6;             //jet shape 02
-     TH2F*      fh2JetsumHT3R6gap;             //jet shape 02
-
-     TH2F*      fh2JetsumHT3R8;             //jet shape 02
-     TH2F*      fh2JetsumHT3R8gap;             //jet shape 02
-
-     TH2F*      fh2JetsumHT3R10;             //jet shape 12
-     TH2F*      fh2JetsumHT3R10gap;             //jet shape 12
-
+  
+     TH2F*      fh2Ntriggers;              //triggers
+     TH2F*      fh2Ntriggers2C10;             //centrality bias of triggers 
+     TH2F*      fh2Ntriggers2C20;             //centrality bias of triggers 
+     TH3F*      fh3JetDensity;             //jet density
+     TH3F*      fh3JetDensityA4;           //jet density
+     TH2F*      fh2RPJetsC10;                  //reaction plane Jets
+     TH2F*      fh2RPJetsC20;
+     TH2F*      fh2RPTC10;                     //reaction plane TT 
+     TH2F*      fh2RPTC20; 
+     THnSparse   *fHJetSpec;               //Recoil jet spectrum
 
-     TH3F*      fh3spectriggered;           //triggered spectra
-     TH3F*      fh3specbiased;              //biased spectra
-     TH3F*      fh3spectot;                 //the two combined  
-     TH3F*      fh3spectotb;                 //the two combined    
-     
      Double_t            fTrigBuffer[10][7];      //!buffer for triggers   
+     TH2F        *fhTTPt;                     //! Trigger track pt for normalization (Rongrong)
+     THnSparse   *fHJetPhiCorr;               //! Azimuthal correlation between trigger track and recoil jets (Rongrong)
+       TRandom3*                   fRandom;          // TRandom3  
 
    AliAnalysisTaskJetCore(const AliAnalysisTaskJetCore&); // not implemented
    AliAnalysisTaskJetCore& operator=(const AliAnalysisTaskJetCore&); // not implemented
 
-   ClassDef(AliAnalysisTaskJetCore, 4);
+   ClassDef(AliAnalysisTaskJetCore, 6);
 };
 
 #endif