]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added additional switch, comments and fixed some coverity issues
authorjmazer <jmazer@cern.ch>
Tue, 1 Apr 2014 15:43:07 +0000 (11:43 -0400)
committermverweij <marta.verweij@cern.ch>
Wed, 2 Apr 2014 13:33:10 +0000 (09:33 -0400)
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetHadEPpid.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetHadEPpid.h
PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetHadEPpid.C

index 6123ee66a083b51346da6c5227b3675ada3a6935..454455bc19e70039f15938b2d394a0fb7e68f3eb 100644 (file)
@@ -69,11 +69,13 @@ AliAnalysisTaskEmcalJetHadEPpid::AliAnalysisTaskEmcalJetHadEPpid() :
   AliAnalysisTaskEmcalJet("correlations",kFALSE), 
   fPhimin(-10), fPhimax(10),
   fEtamin(-0.9), fEtamax(0.9),
-  fAreacut(0.0), fTrkBias(5), fClusBias(5), fTrkEta(0.9), fJetPtcut(15.0), fJetRad(0.4),
+  fAreacut(0.0), fTrkBias(5), fClusBias(5), fTrkEta(0.9), 
+  fJetPtcut(15.0), fJetRad(0.4), fConstituentCut(0.15),
   fDoEventMixing(0), fMixingTracks(50000),
   doPlotGlobalRho(0), doVariableBinning(0), dovarbinTHnSparse(0), 
   makeQAhistos(0), makeBIAShistos(0), makeextraCORRhistos(0),
   useAOD(0), fcutType("EMCAL"), doPID(0), doPIDtrackBIAS(0),
+  doComments(0),
   fLocalRhoVal(0),
   fTracksName(""), fJetsName(""),
   event(0),
@@ -168,11 +170,13 @@ AliAnalysisTaskEmcalJetHadEPpid::AliAnalysisTaskEmcalJetHadEPpid(const char *nam
   AliAnalysisTaskEmcalJet(name,kTRUE),
   fPhimin(-10), fPhimax(10),
   fEtamin(-0.9), fEtamax(0.9),
-  fAreacut(0.0), fTrkBias(5), fClusBias(5), fTrkEta(0.9), fJetPtcut(15.0), fJetRad(0.4),
+  fAreacut(0.0), fTrkBias(5), fClusBias(5), fTrkEta(0.9), 
+  fJetPtcut(15.0), fJetRad(0.4), fConstituentCut(0.15),
   fDoEventMixing(0), fMixingTracks(50000),
   doPlotGlobalRho(0), doVariableBinning(0), dovarbinTHnSparse(0), 
   makeQAhistos(0), makeBIAShistos(0), makeextraCORRhistos(0),
   useAOD(0), fcutType("EMCAL"), doPID(0), doPIDtrackBIAS(0),
+  doComments(0),
   fLocalRhoVal(0),
   fTracksName(""), fJetsName(""),
   event(0),
@@ -553,6 +557,7 @@ void AliAnalysisTaskEmcalJetHadEPpid::UserCreateOutputObjects()
     else centralityBins[ic]=10.0*ic; 
   }
 */
+
   // setup for Pb-Pb collisions
   Int_t nCentralityBins  = 100;
   Double_t centralityBins[nCentralityBins+1];
@@ -597,12 +602,14 @@ void AliAnalysisTaskEmcalJetHadEPpid::UserCreateOutputObjects()
     AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
     if(!inputHandler) {
         AliFatal("Input handler needed");
+               return;
     }
 
     // PID response object
     fPIDResponse = inputHandler->GetPIDResponse();
     if (!fPIDResponse) {
         AliError("PIDResponse object was not created");
+           return;
     }
     // *****************************************************************************************
 
@@ -801,6 +808,7 @@ Bool_t AliAnalysisTaskEmcalJetHadEPpid::Run()
     AliEmcalJet *jet = static_cast<AliEmcalJet*>(jets->At(ijet));
     if (!jet) continue;
 
+    // apply jet cuts
     if ((jet->Phi()<fPhimin)||(jet->Phi()>fPhimax)) continue;
     if ((jet->Eta()<fEtamin)||(jet->Eta()>fEtamax)) continue;
     if (makeextraCORRhistos) fHistAreavsRawPt[centbin]->Fill(jet->Pt(),jet->Area());
@@ -829,7 +837,7 @@ Bool_t AliAnalysisTaskEmcalJetHadEPpid::Run()
 
         // (should probably be higher..., but makes a cut on jet pT)
      if (jet->Pt()<0.1) continue;
-     // do we accept jet?
+     // do we accept jet? apply jet cuts
      if (!AcceptMyJet(jet)) continue;
 
      // check on lead jet
@@ -916,15 +924,20 @@ Bool_t AliAnalysisTaskEmcalJetHadEPpid::Run()
         // calculate and get some track parameters
         Double_t tracketa=track->Eta();   // eta of track
         Double_t deta=tracketa-jeteta;    // dETA between track and jet
-        Int_t ieta=GetEtaBin(deta);       // bin of eta
+               Int_t ieta = -1;
+        if (makeextraCORRhistos) {
+                 ieta=GetEtaBin(deta);       // bin of eta
+             if(ieta<0) continue;              // double check we don't have a negative array index
+               }
 
         // dPHI between jet and hadron
         Double_t dphijh = RelativePhi(jet->Phi(), track->Phi()); // angle between jet and hadron
 
         // jet pt bins
-        Int_t iptjet=-1;                  // initialize jet pT bin
+        Int_t iptjet = -1;                  // initialize jet pT bin
 //        iptjet=GetpTjetBin(jetPt);        // bin of jet pT
-        iptjet=GetpTjetBin(jet->Pt());
+        iptjet=GetpTjetBin(jet->Pt());    // bin of jet pt
+           if(iptjet<0) continue;                        // double check we don't have a negative array index
         Double_t dR=sqrt(deta*deta+dphijh*dphijh);                   // difference of R between jet and hadron track
 
         // fill some jet-hadron histo's
@@ -969,15 +982,15 @@ Bool_t AliAnalysisTaskEmcalJetHadEPpid::Run()
        if(ptmax < fTrkBias) continue;    // force PID to happen when max track pt > 5.0 GeV
     }
 
-    if(doPID){
-      // data information for pid    
-      Double_t eta, pt, dEdx, ITSsig, TOFsig, charge = -99.;
+    // some variables for PID
+    Double_t eta, pt, dEdx, ITSsig, TOFsig, charge = -99.;
 
-      // nSigma of particles in TPC, TOF, and ITS
-      Double_t nSigmaPion_TPC, nSigmaProton_TPC, nSigmaKaon_TPC = -99.;
-      Double_t nSigmaPion_TOF, nSigmaProton_TOF, nSigmaKaon_TOF = -99.;
-      Double_t nSigmaPion_ITS, nSigmaProton_ITS, nSigmaKaon_ITS = -99.;
+    // nSigma of particles in TPC, TOF, and ITS
+    Double_t nSigmaPion_TPC, nSigmaProton_TPC, nSigmaKaon_TPC = -99.;
+    Double_t nSigmaPion_TOF, nSigmaProton_TOF, nSigmaKaon_TOF = -99.;
+    Double_t nSigmaPion_ITS, nSigmaProton_ITS, nSigmaKaon_ITS = -99.;
 
+    if(doPID){
       // get parameters of track
       charge = track->Charge();    // charge of track
       eta    = track->Eta();       // ETA of track
@@ -1278,10 +1291,12 @@ Bool_t AliAnalysisTaskEmcalJetHadEPpid::Run()
   // print some stats on the event
   event++;
   
-  cout<<"Event #: "<<event<<endl;
-  cout<<"# of jets: "<<Njets<<"      Highest jet pt: "<<highestjetpt<<endl;
-  cout<<"# tracks: "<<Ntracks<<"      Highest track pt: "<<ptmax<<endl;
-  cout<<" =============================================== "<<endl;
+  if (doComments) {
+    cout<<"Event #: "<<event<<"     Jet Radius: "<<fJetRad<<"     Constituent Pt Cut: "<<fConstituentCut<<endl;
+    cout<<"# of jets: "<<Njets<<"      Highest jet pt: "<<highestjetpt<<endl;
+    cout<<"# tracks: "<<Ntracks<<"      Highest track pt: "<<ptmax<<endl;
+    cout<<" =============================================== "<<endl;
+  }
 
   return kTRUE;  // used when the function is of type bool
 }  // end of RUN
@@ -1351,9 +1366,9 @@ Int_t AliAnalysisTaskEmcalJetHadEPpid::GetEtaBin(Double_t eta) const
 {
   // Get eta bin for histos.
   Int_t etabin = -1;
-  if (TMath::Abs(eta)<=0.4)                            etabin = 0;
+  if (TMath::Abs(eta)<=0.4)                                            etabin = 0;
   else if (TMath::Abs(eta)>0.4 && TMath::Abs(eta)<0.8) etabin = 1;
-  else if (TMath::Abs(eta)>=0.8)                       etabin = 2;
+  else if (TMath::Abs(eta)>=0.8)                                   etabin = 2;
 
   return etabin;
 } // end of get-eta-bin
@@ -1367,7 +1382,7 @@ Int_t AliAnalysisTaskEmcalJetHadEPpid::GetpTjetBin(Double_t pt) const
   else if (pt>=20 && pt<25)    ptbin = 1;
   else if (pt>=25 && pt<40)    ptbin = 2;
   else if (pt>=40 && pt<60)    ptbin = 3;
-  else if (pt>=60)             ptbin = 4;
+  else if (pt>=60)             ptbin = 4;
 
   return ptbin;
 } // end of get-jet-pt-bin
@@ -1398,7 +1413,7 @@ Int_t AliAnalysisTaskEmcalJetHadEPpid::GetzVertexBin(Double_t zVtx) const
 {
   // get z-vertex bin for histo.
   int zVbin= -1;
-  if (zVtx>=-10 && zVtx<-8)    zVbin = 0;
+  if (zVtx>=-10 && zVtx<-8)        zVbin = 0;
   else if (zVtx>=-8 && zVtx<-6)        zVbin = 1;
   else if (zVtx>=-6 && zVtx<-4)        zVbin = 2;
   else if (zVtx>=-4 && zVtx<-2)        zVbin = 3; 
index 2b693c88f041e707ccc270c23e7ec558e0851987..8675c3243d582a168b2e1a45407dad8da33cd822 100644 (file)
@@ -59,17 +59,23 @@ class AliAnalysisTaskEmcalJetHadEPpid : public AliAnalysisTaskEmcalJet {
   virtual void            GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
   virtual THnSparse*      NewTHnSparseFPID(const char* name, UInt_t entries);
   virtual void            GetDimParamsPID(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
+  // set a bun of histogram switches up
   void                    SetPlotGlobalRho(Bool_t g)            { doPlotGlobalRho = g; } // plot global rho switch
   void                    SetVariableBinning(Bool_t v)          { doVariableBinning = v; } // do variable binning switch
   void                       SetvarbinTHnSparse(Bool_t vb)         { dovarbinTHnSparse = vb; } // variable THnSparse bin switch
   void                                   SetmakeQAhistos(Bool_t QAhist)        { makeQAhistos = QAhist; } // make QA histos  
   void                                   SetmakeBIAShistos(Bool_t BIAShist)    { makeBIAShistos = BIAShist; } // make bias histos
   void                           SetmakeextraCORRhistos(Bool_t Xhist)  { makeextraCORRhistos = Xhist; } // make extra correlations histos
+
+  // set data, detectors type, and PID and PID w bias switches
   void                       SetDataType(Bool_t data)                  { useAOD = data; }    // data type switch
   void                                   SetcutType(TString cut)                               { fcutType = cut; }    // EMCAL / TPC acceptance cut
   void                    SetdoPID(Bool_t p)                    { doPID = p; }   // do PID switch
   void                                           SetdoPIDtrackBIAS(Bool_t PIDbias)     { doPIDtrackBIAS = PIDbias; } // do PID track bias switch
 
+  // give comments setter
+  void                                   SetdoComments(Bool_t comm)                    { doComments = comm; } // give comment switch
+
   // getters
   TString                GetLocalRhoName() const               {return fLocalRhoName; }
 
@@ -85,6 +91,7 @@ class AliAnalysisTaskEmcalJetHadEPpid : public AliAnalysisTaskEmcalJet {
   virtual void            SetTrkEta(Double_t e)                 { fTrkEta   = e; }  //eta range of the associated tracks
   virtual void            SetJetPtcut(Double_t jpt)             { fJetPtcut = jpt; } // jet pt cut
   virtual void                   SetJetRad(Double_t jrad)                              { fJetRad = jrad; } // jet radius 
+  virtual void                           SetConstituentCut(Double_t constCut)   { fConstituentCut = constCut; } // constituent Cut
 
   // eta and phi limits of jets - setters
   virtual void            SetJetEta(Double_t emin, Double_t emax)  { fEtamin = emin; fEtamax = emax; }
@@ -103,7 +110,7 @@ protected:
   void                                  ExecOnce();
   Bool_t                        Run();
   virtual void           Terminate(Option_t *); 
-  virtual Int_t          AcceptMyJet(AliEmcalJet *jet);
+  virtual Int_t          AcceptMyJet(AliEmcalJet *jet);   // applies basic jet tests/cuts before accepting
   virtual Int_t          GetCentBin(Double_t cent) const; // centrality bin of event
   Float_t                RelativePhi(Double_t mphi,Double_t vphi) const; // relative jet track angle
   Float_t                RelativeEPJET(Double_t jetAng, Double_t EPAng) const;  // relative jet event plane angle
@@ -124,6 +131,7 @@ protected:
   Double_t               fTrkEta;                  // eta min/max of tracks
   Double_t                  fJetPtcut;                    // jet pt to cut on for correlations
   Double_t                              fJetRad;                                  // jet radius
+  Double_t                              fConstituentCut;          // jet constituent cut
 
   // event mixing
   Int_t                         fDoEventMixing;
@@ -147,6 +155,9 @@ protected:
   Bool_t                doPID;
   Bool_t                doPIDtrackBIAS;
 
+  // do comment switch
+  Bool_t                doComments;
+
   // local rho value
   Double_t              fLocalRhoVal;
 
index 110e13bf1ff12fbb863cb5f9473d9e11314b7b18..efc65e13f9e1be1e61d0fa1f89d01bd24a9469e4 100644 (file)
@@ -23,8 +23,10 @@ AliAnalysisTaskEmcalJetHadEPpid* AddTaskEmcalJetHadEPpid(
    Bool_t   extraCORRhistos   = 0, //kFALSE,
    const Double_t JetPtcut    = 15.0,
    const Double_t JetRadius   = 0.4,
+   const Double_t constitCut  = 0.15,
    const Int_t MixingTracks   = 50000,
-   TString cutType                       = "EMCAL"
+   TString cutType                       = "EMCAL",
+   Bool_t   Comments             = 0
 )
 {  
   
@@ -72,8 +74,10 @@ AliAnalysisTaskEmcalJetHadEPpid* AddTaskEmcalJetHadEPpid(
   correlationtask->SetmakeextraCORRhistos(extraCORRhistos);
   correlationtask->SetJetPtcut(JetPtcut);
   correlationtask->SetJetRad(JetRadius);
+  correlationtask->SetConstituentCut(constitCut);
   correlationtask->SetMixingTracks(MixingTracks);
   correlationtask->SetcutType(cutType);
+  correlationtask->SetdoComments(Comments);
 
   // =================== set up containers ================================================
   // Cluster Container