]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
patch event cuts
authorsnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Nov 2010 08:20:45 +0000 (08:20 +0000)
committersnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Nov 2010 08:20:45 +0000 (08:20 +0000)
PWG2/FLOW/AliFlowTasks/AliAnalysisTaskQAflow.cxx
PWG2/FLOW/AliFlowTasks/AliFlowEventCuts.cxx
PWG2/FLOW/AliFlowTasks/AliFlowEventCuts.h

index 5ccfb9305c7e09aaf37f630d435d3d07d11e2c0b..cce3df7d37c9dd1201eacedfd1236463d94f5167 100644 (file)
@@ -118,11 +118,10 @@ void AliAnalysisTaskQAflow::UserCreateOutputObjects()
   hist = new TH1D("ptyieldneg", "p_{t} spectrum -", 10000,0.0,10.0);
   before->Add(hist); after->Add(hist->Clone()); //17
   hist = new TH1D("charges", "charge distribution", 5,-2.5,2.5);
-  before->Add(hist); after->Add(hist->Clone()); //17
+  before->Add(hist); after->Add(hist->Clone()); //18
   
   //post data here as it doesn't change anyway (the pointer to list anyway)
 
-  //restore dir add status
   PostData(1, fOutput);
   PostData(2, fNtuple);
 }
@@ -138,6 +137,7 @@ void AliAnalysisTaskQAflow::UserExec(Option_t *)
     AliFatal("no ESD event");
     return;
   }
+  fTrackCuts->SetEvent(event);
 
   //TObjArray* before = ((TDirectory*)fOutput->At(0))->GetList();
   //TObjArray* after = ((TDirectory*)fOutput->At(1))->GetList();
@@ -257,7 +257,6 @@ void AliAnalysisTaskQAflow::UserExec(Option_t *)
   Float_t zdcn2=zdc->GetZDCN2Energy();
   Float_t zdcpart1=zdc->GetZDCPartSideA();
   Float_t zdcpart2=zdc->GetZDCPartSideC();
-  fTrackCuts->SetEvent(event);
   Float_t meanpt=0;
   Float_t rawmeanpt=0;
   Float_t maxpt=0.0;
@@ -265,6 +264,7 @@ void AliAnalysisTaskQAflow::UserExec(Option_t *)
   for (Int_t i=0; i<ntracks; i++)
   {
     TObject* obj = fTrackCuts->GetInputObject(i);
+    if (!obj) continue;
     Bool_t pass = fTrackCuts->IsSelected(obj,i);
     Float_t dcaxy=0.0;
     Float_t dcaz=0.0;
@@ -301,10 +301,10 @@ void AliAnalysisTaskQAflow::UserExec(Option_t *)
       hptyieldB->Fill(pt); if (pass) hptyieldA->Fill(pt);
       if (charge>0) {hptyieldplusB->Fill(pt); if (pass) hptyieldplusA->Fill(pt);}
       if (charge<0) {hptyieldnegB->Fill(pt); if (pass) hptyieldnegA->Fill(pt);}
-      if (charge<0) {hchargesB->Fill(charge); if (pass) hchargesA->Fill(charge);}
+      hchargesB->Fill(charge); if (pass) hchargesA->Fill(charge);
     }
   }
-  meanpt = meanpt/ntracks;
+  if (ntracks!=0) meanpt = meanpt/ntracks;
   
   Bool_t isSelectedEventSelection = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
   
index d1c91000b3515b5fedc9f76f23b77cba595d7d3e..1cc451e15b2e5854bcfc16f564b9d9da7a465688 100644 (file)
@@ -60,8 +60,8 @@ AliFlowEventCuts::AliFlowEventCuts():
   fNContributorsMax(INT_MAX),
   fNContributorsMin(INT_MIN),
   fCutMeanPt(kFALSE),
-  fMeanPtMax(INT_MAX),
-  fMeanPtMin(INT_MIN)
+  fMeanPtMax(-DBL_MAX),
+  fMeanPtMin(DBL_MAX)
 {
   //constructor 
 }
@@ -91,8 +91,8 @@ AliFlowEventCuts::AliFlowEventCuts(const char* name, const char* title):
   fNContributorsMax(INT_MAX),
   fNContributorsMin(INT_MIN),
   fCutMeanPt(kFALSE),
-  fMeanPtMax(INT_MAX),
-  fMeanPtMin(INT_MIN)
+  fMeanPtMax(-DBL_MAX),
+  fMeanPtMin(DBL_MAX)
 {
   //constructor 
 }
index 19a454d33259790118cb950c4c5bce66dfedc0e6..271cb7c1cb4860b56f5a986954645d93f58757b8 100644 (file)
@@ -47,7 +47,7 @@ class AliFlowEventCuts : public TNamed {
        {fCutPrimaryVertexZ=kTRUE; fPrimaryVertexZmin=min; fPrimaryVertexZmax=max;}
   void SetNContributorsRange(Int_t min, Int_t max=INT_MAX) 
        {fCutNContributors=kTRUE; fNContributorsMin=min; fNContributorsMax=max;}
-  void SetMeanPtRange(Int_t min, Int_t max) {fCutMeanPt=kTRUE; fMeanPtMax=max; fMeanPtMin=min;}
+  void SetMeanPtRange(Double_t min, Double_t max) {fCutMeanPt=kTRUE; fMeanPtMax=max; fMeanPtMin=min;}
 
   Int_t GetNumberOfTracksMax() const {return fNumberOfTracksMax;}
   Int_t GetNumberOfTracksMin() const {return fNumberOfTracksMin;}
@@ -86,8 +86,8 @@ class AliFlowEventCuts : public TNamed {
   Int_t fNContributorsMax; //maximal number of contrib
   Int_t fNContributorsMin; //minimal number of contrib
   Bool_t fCutMeanPt; //cut on mean pt
-  Int_t fMeanPtMax; //max mean pt
-  Int_t fMeanPtMin; //min mean pt
+  Double_t fMeanPtMax; //max mean pt
+  Double_t fMeanPtMin; //min mean pt
 
 
   ClassDef(AliFlowEventCuts,2)