Charge + VZERO side selection added
authorLeonardo Milano <lmilano@cern.ch>
Wed, 8 Jan 2014 15:30:27 +0000 (16:30 +0100)
committerLeonardo Milano <lmilano@cern.ch>
Wed, 8 Jan 2014 15:30:27 +0000 (16:30 +0100)
PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAllChAOD.cxx
PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAllChAOD.h

index 25810a0..f8898b2 100644 (file)
@@ -57,6 +57,8 @@ AliAnalysisTaskSpectraAllChAOD::AliAnalysisTaskSpectraAllChAOD(const char *name)
   fEventCuts(0x0),\r
   fHelperPID(0x0),\r
   fIsMC(0),\r
+  fCharge(0),\r
+  fVZEROside(0),\r
   fOutput(0x0),\r
   fnCentBins(20),\r
   fnQvecBins(50)\r
@@ -173,7 +175,11 @@ void AliAnalysisTaskSpectraAllChAOD::UserExec(Option_t *)
   if(fHelperPID->GetPIDType()==kBayes)fHelperPID->GetPIDCombined()->SetDefaultTPCPriors();//FIXME maybe this can go in the UserCreateOutputObject?\r
   \r
   Double_t Qvec=0.;//in case of MC we save space in the memory\r
-  if(!fIsMC)Qvec=fEventCuts->GetqV0A();//FIXME we'll have to combine A and C\r
+  if(!fIsMC){\r
+    if(fVZEROside==0)Qvec=fEventCuts->GetqV0A();\r
+    else if (fVZEROside==1)Qvec=fEventCuts->GetqV0C();\r
+  }\r
+\r
   Double_t Cent=fEventCuts->GetCent();\r
     \r
   // First do MC to fill up the MC particle array\r
@@ -189,6 +195,8 @@ void AliAnalysisTaskSpectraAllChAOD::UserExec(Option_t *)
        {\r
          AliAODMCParticle *partMC = (AliAODMCParticle*) arrayMC->At(iMC);\r
          if(!partMC->Charge()) continue;//Skip neutrals\r
+         if(fCharge != 0 && partMC->Charge() != fCharge) continue;//if fCharge != 0 only select fCharge\r
+         \r
          if(partMC->Eta() < fTrackCuts->GetEtaMin() || partMC->Eta() > fTrackCuts->GetEtaMax())continue;//ETA CUT ON GENERATED!!!!!!!!!!!!!!!!!!!!!!!!!!\r
          \r
          //pt     cent    IDgen        isph        y\r
@@ -208,6 +216,7 @@ void AliAnalysisTaskSpectraAllChAOD::UserExec(Option_t *)
   //main loop on tracks\r
   for (Int_t iTracks = 0; iTracks < fAOD->GetNumberOfTracks(); iTracks++) {\r
     AliAODTrack* track = fAOD->GetTrack(iTracks);\r
+    if(fCharge != 0 && track->Charge() != fCharge) continue;//if fCharge != 0 only select fCharge \r
     if (!fTrackCuts->IsSelected(track,kTRUE)) continue; //track selection (rapidity selection NOT in the standard cuts)\r
     Int_t IDrec=fHelperPID->GetParticleSpecies(track,kTRUE);//id from detector\r
     Double_t y= track->Y(fHelperPID->GetMass((AliHelperParticleSpecies_t)IDrec));\r
index b639666..ab4619a 100644 (file)
@@ -29,6 +29,8 @@ class AliAnalysisTaskSpectraAllChAOD : public AliAnalysisTaskSE
     fEventCuts(0x0),\r
     fHelperPID(0x0),\r
     fIsMC(0),\r
+    fCharge(0),\r
+    fVZEROside(0),\r
     fOutput(0x0),\r
     fnCentBins(20),\r
     fnQvecBins(50)\r
@@ -40,6 +42,9 @@ class AliAnalysisTaskSpectraAllChAOD : public AliAnalysisTaskSE
   \r
   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };\r
   Bool_t GetIsMC()           const           { return fIsMC;};\r
\r
+  void SetCharge(Int_t charge = 0)    {fCharge = charge; };\r
+  Int_t GetCharge()           const           { return fCharge;};\r
   \r
   virtual void   UserCreateOutputObjects();\r
   virtual void   UserExec(Option_t *option);\r
@@ -63,13 +68,15 @@ class AliAnalysisTaskSpectraAllChAOD : public AliAnalysisTaskSE
   AliSpectraAODEventCuts      * fEventCuts;     // Event Cuts\r
   AliHelperPID                   * fHelperPID;      // points to class for PID\r
   Bool_t                          fIsMC;           // true if processing MC\r
+  Int_t                            fCharge;        // charge to be selected\r
+  Int_t                            fVZEROside;    // 0: VZERO-A 1: VZERO-C\r
   TList                          * fOutput;        // output list\r
   Int_t                            fnCentBins;        // number of bins for the centrality axis\r
   Int_t                            fnQvecBins;        // number of bins for the q vector axis\r
   AliAnalysisTaskSpectraAllChAOD(const AliAnalysisTaskSpectraAllChAOD&);\r
   AliAnalysisTaskSpectraAllChAOD& operator=(const AliAnalysisTaskSpectraAllChAOD&);\r
   \r
-  ClassDef(AliAnalysisTaskSpectraAllChAOD, 3);\r
+  ClassDef(AliAnalysisTaskSpectraAllChAOD, 4);\r
 };\r
 \r
 #endif\r