]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/AliAnalysisTaskSEDvsMultiplicity.h
Additional odifications to compile without ZeroMQ
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskSEDvsMultiplicity.h
old mode 100644 (file)
new mode 100755 (executable)
index 8ba2076..c39dc66
@@ -36,7 +36,7 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
  public:
 
   AliAnalysisTaskSEDvsMultiplicity();
-  AliAnalysisTaskSEDvsMultiplicity(const char *name, Int_t pdgMeson, AliRDHFCuts* cuts);
+  AliAnalysisTaskSEDvsMultiplicity(const char *name, Int_t pdgMeson, AliRDHFCuts* cuts, Bool_t switchPPb);
   virtual ~AliAnalysisTaskSEDvsMultiplicity();
 
 
@@ -55,9 +55,13 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
   }
 
   void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
+  void SetMCOption(Int_t option=0){ fMCOption = option; }
+  void SetIsPPbData(Bool_t flag=kTRUE){ 
+    fisPPbData=flag;
+  }
   void SetUseBit(Bool_t use=kTRUE){fUseBit=use;}
   void SetDoImpactParameterHistos(Bool_t doImp=kTRUE){fDoImpPar=doImp;}
-
+  void SetKeepEstimatorCorrelationPlots(Bool_t use=kTRUE){fKeepCorrPlots=use;}
 
   void SetMultiplVsZProfileLHC10b(TProfile* hprof){
     if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
@@ -75,6 +79,16 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
     if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
     fMultEstimatorAvg[3]=new TProfile(*hprof);
   }
+  
+  void SetMultiplVsZProfileLHC13b(TProfile* hprof){
+    if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
+    fMultEstimatorAvg[0]=new TProfile(*hprof);
+  }
+  void SetMultiplVsZProfileLHC13c(TProfile* hprof){
+    if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
+    fMultEstimatorAvg[1]=new TProfile(*hprof);
+  }
+    
   void SetReferenceMultiplcity(Double_t rmu){fRefMult=rmu;}
 
   // Nch weights on MC
@@ -87,10 +101,12 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
   void SetSubtractTrackletsFromDaughters(Bool_t opt){fSubtractTrackletsFromDau=opt;}
   Int_t CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
 
-  enum { kNtrk10=0, kNtrk10to16=1, kVZERO=2 };
+  enum { kNtrk10=0, kNtrk10to16=1, kVZERO=2, kNtrk03=3, kNtrk05=4, kVZEROA=5 };
   void SetMultiplicityEstimator(Int_t value){ fMultiplicityEstimator=value; }
   Int_t GetMultiplicityEstimator(){ return fMultiplicityEstimator; }
-
+  enum { kEta10=0, kEta10to16=1, kEtaVZERO=2, kEta03=3, kEta05=5, kEtaVZEROA=5 };
+  void SetMCPrimariesEstimator(Int_t value){ fMCPrimariesEstimator=value; }
+  Int_t GetMCPrimariesEstimator(){ return fMCPrimariesEstimator; }
 
   // Implementation of interface methods
   virtual void UserCreateOutputObjects();
@@ -107,6 +123,7 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
   TProfile* GetEstimatorHistogram(const AliVEvent *event);
   void CreateImpactParameterHistos();
   void CreateMeasuredNchHisto();
+  void FillMCMassHistos(TClonesArray *arrayMC, Int_t labD, Int_t countMult,Double_t nchWeight);
 
   TList  *fOutput; //! list send on output slot 1
   TList  *fListCuts; //list of cuts
@@ -115,8 +132,25 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
 
   TH1F *fHistNEvents;     //!hist. for No. of events
 
-  TH2F* fHistNtrEta16vsNtrEta1; //!hist. for Ntracklets in eta<1.6 vs. eta<1.
-  TH2F* fHistNtrCorrEta1vsNtrRawEta1; //!hist. for Ntracklets in eta<1 with and w/o corrections 
+  TH2F* fHistNtrEta16vsNtrEta1EvSel; //!hist. for Ntracklets in eta<1.6 vs. eta<1.
+  TH2F* fHistNtrEta05vsNtrEta1EvSel; //!hist. for Ntracklets in eta<0.5 vs. eta<1.
+  TH2F* fHistNtrEta03vsNtrEta1EvSel; //!hist. for Ntracklets in eta<0.3 vs. eta<1.
+  TH2F* fHistNtrEtaV0AvsNtrEta1EvSel; //!hist. for Ntracklets in eta-V0A vs. eta<1.
+  TH2F* fHistNtrEtaV0MvsNtrEta1EvSel; //!hist. for Ntracklets in eta-V0M vs. eta<1.
+  TH2F* fHistNtrCorrEta1vsNtrRawEta1EvSel; //!hist. for Ntracklets in eta<1 with and w/o corrections
+  TH2F* fHistNtrEta16vsNtrEta1EvWithCand; //!hist. for Ntracklets in eta<1.6 vs. eta<1. for events with a candidate
+  TH2F* fHistNtrEta05vsNtrEta1EvWithCand; //!hist. for Ntracklets in eta<0.5 vs. eta<1. for events with a candidate
+  TH2F* fHistNtrEta03vsNtrEta1EvWithCand; //!hist. for Ntracklets in eta<0.3 vs. eta<1. for events with a candidate
+  TH2F* fHistNtrEtaV0AvsNtrEta1EvWithCand; //!hist. for Ntracklets in eta-V0A vs. eta<1. for events with a candidate
+  TH2F* fHistNtrEtaV0MvsNtrEta1EvWithCand; //!hist. for Ntracklets in eta-V0M vs. eta<1. for events with a candidate
+  TH2F* fHistNtrCorrEta1vsNtrRawEta1EvWithCand; //!hist. for Ntracklets in eta<1 with and w/o corrections for events with a candidate
+  TH2F* fHistNtrEta16vsNtrEta1EvWithD; //!hist. for Ntracklets in eta<1.6 vs. eta<1. for events with a candidate in D mass peak
+  TH2F* fHistNtrEta05vsNtrEta1EvWithD; //!hist. for Ntracklets in eta<0.5 vs. eta<1. for events with a candidate in D mass peak
+  TH2F* fHistNtrEta03vsNtrEta1EvWithD; //!hist. for Ntracklets in eta<0.3 vs. eta<1. for events with a candidate in D mass peak
+  TH2F* fHistNtrEtaV0AvsNtrEta1EvWithD; //!hist. for Ntracklets in eta-V0A vs. eta<1. for events with a candidate in D mass peak
+  TH2F* fHistNtrEtaV0MvsNtrEta1EvWithD; //!hist. for Ntracklets in eta-V0M vs. eta<1. for events with a candidate in D mass peak
+  TH2F* fHistNtrCorrEta1vsNtrRawEta1EvWithD; //!hist. for Ntracklets in eta<1 with and w/o corrections for events with a candidate in D mass peak
+
   TH2F* fHistNtrVsZvtx; //!  hist of ntracklets vs Zvertex
   TH2F* fHistNtrCorrVsZvtx; //!  hist of ntracklets vs Zvertex
 
@@ -129,7 +163,11 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
   TH1F* fHistGenPrimaryParticlesInelGt0; //!hist. of geenrated multiplcity
   TH3F* fHistNchMCVsNchMCPrimaryVsNchMCPhysicalPrimary; //! hist of Nch (generated) vs Nch (Primary) vs Nch (Physical Primary) 
   
+  TH1F* fHistNtrUnCorrPSSel; //! hist. of ntracklets for physics selection only selected events
   TH1F* fHistNtrUnCorrEvSel; //! hist. of ntracklets for selected events
+  TH1F* fHistNtrUnCorrEvWithCand; //! hist. of ntracklets for evnts with a candidate
+  TH1F* fHistNtrUnCorrEvWithD;//! hist. of ntracklets for evnts with a candidate in D mass peak
+  TH1F* fHistNtrCorrPSSel; //! hist. of ntracklets for physics selection only selected events
   TH1F* fHistNtrCorrEvSel; //! hist. of ntracklets for selected events
   TH1F* fHistNtrCorrEvWithCand; //! hist. of ntracklets for evnts with a candidate
   TH1F* fHistNtrCorrEvWithD;//! hist. of ntracklets for evnts with a candidate in D mass peak
@@ -140,6 +178,7 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
   TH3F *fPtVsMassVsMultUncorr;  //! hist. of Pt vs Mult vs. mass (raw mult)
   TH3F *fPtVsMassVsMultPart;  //! hist. of Pt vs Mult vs. mass (particle)
   TH3F *fPtVsMassVsMultAntiPart;  //! hist. of Pt vs Mult vs. mass (antiparticle)
+  TH3F *fPtVsMassVsMultMC;  //! hist. of Pt vs Mult vs. mass (MC true candidates before reconstruction)
 
   THnSparseF *fHistMassPtImpPar[5];//! histograms for impact paramter studies
 
@@ -158,20 +197,23 @@ class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
 
   Bool_t fReadMC;    //flag for access to MC
   Int_t  fMCOption;  // 0=keep all cand, 1=keep only signal, 2= keep only back
+  Bool_t fisPPbData; // flag to run on pPb data (differen histogram bining)
   Bool_t fUseBit;    // flag to use bitmask
   Bool_t fSubtractTrackletsFromDau; // flag for subtracting D meson daughter contribution to N of tracklets
+  Bool_t fKeepCorrPlots; // flag to look at the correlation of different estimators (eta ranges)
 
   Bool_t fUseNchWeight; // weight on the MC on the generated multiplicity
   TH1F* fHistoMCNch;    // weight histogram for the MC on the generated multiplicity
   TH1F* fHistoMeasNch;  //! weight histogram on the true measured multiplicity
   
-  TProfile* fMultEstimatorAvg[4]; // TProfile with mult vs. Z per period
+  TProfile* fMultEstimatorAvg[4]; //TProfile with mult vs. Z per period
   Double_t fRefMult;   // refrence multiplcity (period b)
   Int_t fPdgMeson;   // pdg code of analyzed meson
 
-  Int_t fMultiplicityEstimator; // Definition of the multiplicity estimator: kNtrk10=0, kNtrk10to16=1, kVZERO=2 
+  Int_t fMultiplicityEstimator; // Definition of the multiplicity estimator: kNtrk10=0, kNtrk10to16=1, kVZERO=2
+  Int_t fMCPrimariesEstimator;  // Definition of the primaries estimator eta range: |eta|<1.0=0, -1.6<|eta|<1.0=1, VZEROrange=2 
   
-  ClassDef(AliAnalysisTaskSEDvsMultiplicity,6); // D vs. mult task
+  ClassDef(AliAnalysisTaskSEDvsMultiplicity,12); // D vs. mult task
 };
 
 #endif