]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- Patch for centrality selection applied - signal for reconstructedID added
authorlmilano <lmilano@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 8 Jun 2012 15:57:01 +0000 (15:57 +0000)
committerlmilano <lmilano@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 8 Jun 2012 15:57:01 +0000 (15:57 +0000)
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODEventCuts.cxx
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODEventCuts.h
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODTrackCuts.cxx
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODTrackCuts.h
PWGLF/SPECTRA/PiKaPr/TestAOD/runAODProof.C
PWGLF/SPECTRA/PiKaPr/TestAOD/runGrid.C

index 69221f640d4d751272fc7c60b03d7a896b47c940..352041ec4571fea50375eaca95db3e1461f69d55 100644 (file)
@@ -62,6 +62,8 @@ Bool_t AliSpectraAODEventCuts::IsSelected(AliAODEvent * aod,AliSpectraAODTrackCu
   fAOD = aod;
   fTrackCuts = trackcuts;
   fHistoCuts->Fill(kProcessedEvents);
+  Bool_t isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected());//FIXME we can add the trigger mask here
+  if(!isSelected)return isSelected;
   //loop on tracks, before event selection, filling QA histos
   AliAODVertex * vertex = fAOD->GetPrimaryVertex();//FIXME vertex is recreated
   if(vertex)fHistoVtxBefSel->Fill(vertex->GetZ());
@@ -107,7 +109,7 @@ Bool_t AliSpectraAODEventCuts::CheckCentralityCut()
 {
   // Check centrality cut
   Double_t cent=0;
-  if(fIsMC)cent=fAOD->GetCentrality()->GetCentralityPercentile("V0M");
+  if(!fUseCentPatchAOD049)cent=fAOD->GetCentrality()->GetCentralityPercentile("V0M");
   else cent=ApplyCentralityPatchAOD049();
   
   if ( (cent <= fCentralityCutMax)  &&  (cent >= fCentralityCutMin) )  return kTRUE;   
@@ -122,6 +124,7 @@ void AliSpectraAODEventCuts::PrintCuts()
   cout << "Event Stats" << endl;
   cout << " > Number of accepted events: " << fHistoCuts->GetBinContent(kAcceptedEvents + 1) << endl;
   cout << " > Number of processed events: " << fHistoCuts->GetBinContent(kProcessedEvents + 1) << endl;
+  cout << " > Number of PhysSel events: " << fHistoCuts->GetBinContent(kPhysSelEvents + 1) << endl;
   cout << " > Vertex out of range: " << fHistoCuts->GetBinContent(kVtxRange + 1) << endl;
   cout << " > Events cut by centrality: " << fHistoCuts->GetBinContent(kVtxCentral + 1) << endl;
   cout << " > Events without vertex: " << fHistoCuts->GetBinContent(kVtxNoEvent + 1) << endl;
index 22e0c7e61ddf2d2582b8f5b43edb673743f5b72a..6b7e7800ee2baf8bdc98af89ff40ec66e27ae0a2 100644 (file)
@@ -21,16 +21,19 @@ class AliSpectraAODHistoManager;
 class AliSpectraAODEventCuts : public TNamed
 {
  public:
-  enum {  kProcessedEvents = 0,kAcceptedEvents, kVtxRange, kVtxCentral, kVtxNoEvent, kNVtxCuts};
+  enum {  kProcessedEvents = 0,kPhysSelEvents,kAcceptedEvents, kVtxRange, kVtxCentral, kVtxNoEvent, kNVtxCuts};
 
   // Constructors
- AliSpectraAODEventCuts() : TNamed(), fAOD(0), fIsMC(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0) {}
+ AliSpectraAODEventCuts() : TNamed(), fAOD(0), fIsMC(0), fUseCentPatchAOD049(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0) {}
   AliSpectraAODEventCuts(const char *name);
   virtual  ~AliSpectraAODEventCuts() {}
   
   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };
   Bool_t GetIsMC()           const           { return fIsMC;};
   
+  void SetUseCentPatchAOD049(Bool_t useCentPatchAOD049 = kFALSE)    {fUseCentPatchAOD049 = useCentPatchAOD049; };
+  Bool_t GetUseCentPatchAOD049()           const           { return fUseCentPatchAOD049;};
+  
   // Methods
   Bool_t IsSelected(AliAODEvent * aod,AliSpectraAODTrackCuts     *trackcuts);
   Bool_t CheckVtxRange();
@@ -52,6 +55,7 @@ class AliSpectraAODEventCuts : public TNamed
 
   Float_t  NumberOfEvents()     { return fHistoCuts->GetBinContent(kAcceptedEvents+1); }
   Float_t  NumberOfProcessedEvents()     { return fHistoCuts->GetBinContent(kProcessedEvents+1); }
+  Float_t  NumberOfPhysSelEvents()     { return fHistoCuts->GetBinContent(kPhysSelEvents+1); }
 
   Long64_t Merge(TCollection* list);
 
@@ -60,6 +64,7 @@ class AliSpectraAODEventCuts : public TNamed
   
   AliAODEvent     *fAOD;              //! AOD event
   Bool_t          fIsMC;// true if processing MC
+  Bool_t          fUseCentPatchAOD049;// Patch for centrality selection on AOD049
   AliSpectraAODTrackCuts     *fTrackCuts;              //! track cuts
   Bool_t          fIsSelected;        // True if cuts are selected
   Float_t         fCentralityCutMin;     // minimum centrality percentile
index 9373416233730db7c1f196af499e7990120cc80b..d96a8613ba74359000835de91009e222f5650d71 100644 (file)
@@ -91,6 +91,11 @@ Bool_t AliSpectraAODTrackCuts::IsSelected(AliAODTrack * track)
     return kFALSE;
   }
   fHistoCuts->Fill(kTrkBit);
+  
+  if(!CheckTrackCuts()){
+    return kFALSE;
+  }
+  fHistoCuts->Fill(kTrkCuts);
   if(!CheckEtaCut()){
     return kFALSE;
   }
@@ -118,10 +123,18 @@ Bool_t AliSpectraAODTrackCuts::IsSelected(AliAODTrack * track)
 
 Bool_t AliSpectraAODTrackCuts::CheckTrackType()
 {
-  // Check track cuts
+  // Check track Type
   if (fTrack->TestFilterBit(fTrackBits)) return kTRUE;
   return kFALSE;
 }
+//_________________________________________________________
+
+Bool_t AliSpectraAODTrackCuts::CheckTrackCuts()
+{
+  // Check additional track Cuts
+  return fTrack->HasPointOnITSLayer(0); //FIXME 1 SPD for the moment
+  
+}
 //________________________________________________________
 Bool_t AliSpectraAODTrackCuts::CheckEtaCut()
 {
index 77f3e4940a62a23fce210826353fe95142d1139d..c398c9f81518b320bccbf651f288a948e82ef91a 100644 (file)
@@ -21,6 +21,7 @@ class AliSpectraAODHistoManager;
 using namespace AliSpectraNameSpace;
  
 const char * kBinLabel[] ={"TrkBit",
+                          "TrkCuts",
                           "TrkEta",
                           "TrkDCA",
                           "TrkP",
@@ -36,7 +37,7 @@ class AliSpectraAODTrackCuts : public TNamed
 {
  public:
   
-  enum { kTrkBit = 0, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts};
+  enum { kTrkBit = 0, kTrkCuts, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts};
   
   
  AliSpectraAODTrackCuts() : TNamed(), fIsSelected(0), fTrackBits(0), fEtaCut(0), fPCut(0), fPtCut(0), fPtCutTOFMatching(0), fQvecCutMin(0), fQvecCutMax(0), fHistoCuts(0), fHistoNSelectedPos(0), fHistoNSelectedNeg(0), fHistoNMatchedPos(0), fHistoNMatchedNeg(0), fHistoEtaPhiHighPt(0), fTrack(0) {}
@@ -48,14 +49,15 @@ class AliSpectraAODTrackCuts : public TNamed
   
   void SetTrackType(UInt_t bit);
   Bool_t CheckTrackType();
+  Bool_t CheckTrackCuts();
   Bool_t CheckEtaCut();
   Bool_t CheckYCut(AODParticleSpecies_t specie); // not included in standard cuts
   Bool_t CheckDCACut();
   Bool_t CheckPCut();
-   Bool_t CheckPtCut();
-   Bool_t CheckTOFMatching();
-   void PrintCuts() const;
-
+  Bool_t CheckPtCut();
+  Bool_t CheckTOFMatching();
+  void PrintCuts() const;
+  
    UInt_t GetTrackType()  const    { return fTrackBits; }
    TH1I * GetHistoCuts()      { return fHistoCuts; }
    TH1F * GetHistoNSelectedPos()      { return fHistoNSelectedPos; } 
index 8edbd66a6f5b56cae157448a92f5e93cd1490df1..6e7bb01360e5ec8f3a0f096158f27ace837a671b 100644 (file)
@@ -1,4 +1,4 @@
-void runAODProof(Int_t c=2, const char * proofMode = "full")
+void runAODProof(Int_t c=3, const char * proofMode = "full")
 { //1 data AOD049
   //2 MC AOD048
   //3 data AOD086
@@ -41,12 +41,12 @@ void runAODProof(Int_t c=2, const char * proofMode = "full")
   handler->SetProofDataSet("/default/lmilano/LHC11a10a_138653_AOD048#aodTree|/default/lmilano/LHC11a10a_138662_AOD048#aodTree|/default/lmilano/LHC11a10a_138666_AOD048#aodTree|/default/lmilano/LHC11a10a_138730_AOD048#aodTree|/default/lmilano/LHC11a10a_138732_AOD048#aodTree|/default/lmilano/LHC11a10a_139507_AOD048#aodTree|/default/lmilano/LHC11a10a_139465_AOD048#aodTree|/default/lmilano/LHC11a10a_139437_AOD048#aodTree|/default/lmilano/LHC11a10a_139107_AOD048#aodTree|/default/lmilano/LHC11a10a_139510_AOD048#aodTree");      
   }
   if (c == 3){
-    handler->SetProofDataSet("/default/lmilano/LHC10h_000138653_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138662_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138666_AOD086_p2#aodTree|/default/lmilano/LHC10h_000139107_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");      
-    //handler->SetProofDataSet("/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");      
+    //handler->SetProofDataSet("/default/lmilano/LHC10h_000138653_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138662_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138666_AOD086_p2#aodTree|/default/lmilano/LHC10h_000139107_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");      
+    handler->SetProofDataSet("/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");      
   }
   if (c == 4){
-    handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138662_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138666_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_139107_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");      
-    //handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");      
+    //handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138662_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138666_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_139107_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");      
+    handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");      
   }
    
   gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
@@ -99,11 +99,13 @@ void runAODProof(Int_t c=2, const char * proofMode = "full")
     // Set the cuts
     AliSpectraAODEventCuts * vcuts = new AliSpectraAODEventCuts("Event Cuts");
     AliSpectraAODTrackCuts  * tcuts = new AliSpectraAODTrackCuts("Track Cuts");
-    if(c==1 || c==2)tcuts->SetTrackType(5); //AOD 046 & 047. Standard Cut with loose DCA
+    //if(c==1 || c==2)tcuts->SetTrackType(5); //AOD 046 & 047. Standard Cut with loose DCA
     //if(c==1 || c==2)tcuts->SetTrackType(6); //AOD 046 & 047. Standard Cut with tight DCA
     //if(c==3 || c==4)tcuts->SetTrackType(10); //AOD 086 & 090. Standard Raa cut
     //if(c==3 || c==4)tcuts->SetTrackType(4); //AOD 086 & 090. Jet analysis
-    if(c==3 || c==4)tcuts->SetTrackType(7); //AOD 086 & 090. TPC Only
+    //if(c==3 || c==4)tcuts->SetTrackType(7); //AOD 086 & 090. TPC Only
+    tcuts->SetTrackType(1);
+    Printf("-------------------- tcuts->GetTrackType() %d",tcuts->GetTrackType());
     tcuts->SetEta(.8);
     //tcuts->SetDCA(.1);
     tcuts->SetPt(5);
@@ -111,6 +113,7 @@ void runAODProof(Int_t c=2, const char * proofMode = "full")
     tcuts->SetPtTOFMatching(.6);   
     tcuts->SetQvecMin(QvecCutMin[iCut]);   
     tcuts->SetQvecMax(QvecCutMax[iCut]);    
+    if(c==1)vcuts->SetUseCentPatchAOD049(kTRUE);
     vcuts->SetCentralityCutMax(CentCutMax[iCut]);  
     vcuts->SetCentralityCutMin(CentCutMin[iCut]);
     task->SetEventCuts(vcuts);
index 94d2a36e747ad0bf3952f1702b1931eb28a090a7..c8451dc83a9ce2b1e184fde527fdf68cdfe3b4bd 100644 (file)
@@ -81,6 +81,7 @@ void runGrid(TString mode="terminate",Int_t mc=1,Int_t sub=1,Int_t hi=1,TString
   tcuts->SetPtTOFMatching(0.6);   
   tcuts->SetQvecMin(qVecCut[0]);   
   tcuts->SetQvecMax(qVecCut[1]);    
+  if(sub==0 && mc==0)vcuts->SetUseCentPatchAOD049(1);
   vcuts->SetCentralityCutMin(CentCut[0]);
   vcuts->SetCentralityCutMax(CentCut[1]);  
   task->SetEventCuts(vcuts);