]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
suppress unmergeable output to run jet v2 mc task on farm
authorrbertens <rbertens@cern.ch>
Thu, 31 Jul 2014 17:31:49 +0000 (19:31 +0200)
committerrbertens <rbertens@cern.ch>
Thu, 31 Jul 2014 17:33:51 +0000 (19:33 +0200)
PWG/FLOW/Tasks/AliAnalysisTaskJetFlowMC.cxx
PWG/FLOW/Tasks/AliAnalysisTaskJetFlowMC.h
PWGCF/FLOW/macros/AddTaskJetFlowMC.C
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetV2.cxx

index 1e130a106e37f63547d2c614aa948f695ac8dcc6..b2b63c05c737622f1572e5e674e17c0d6f28d805 100644 (file)
@@ -22,7 +22,7 @@ using namespace std;
 ClassImp(AliAnalysisTaskJetFlowMC)
 
 //_____________________________________________________________________________
-AliAnalysisTaskJetFlowMC::AliAnalysisTaskJetFlowMC() : AliAnalysisTaskSE("AliAnalysisTaskJetFlowMC"), fTracksOutName("JetFlowMC"),  fTracksInName("PicoTrack"), fTracksIn(0),  fTracksOut(0), fReuseTracks(kFALSE), fMult(2200), fCenBin(-1), fCentralityClasses(0), fFuncVn(0), fOutputList(0), fTrackSpectrum(0), fRandomizeEta(kTRUE), fJetSpectrumSF(0), fNoOfSFJets(0), fHistIntV2(0), fHistIntV3(0), fFlowFluctuations(-10), fMaxNumberOfIterations(100), fPsi2(-10), fPsi3(-10), fPrecisionPhi(1e-10), fDetectorType(kFixedEP), fHistSFJetSpectrum(0), fHistSFJetEtaPhi(0) {
+AliAnalysisTaskJetFlowMC::AliAnalysisTaskJetFlowMC() : AliAnalysisTaskSE("AliAnalysisTaskJetFlowMC"), fQA(kFALSE), fTracksOutName("JetFlowMC"),  fTracksInName("PicoTrack"), fTracksIn(0),  fTracksOut(0), fReuseTracks(kFALSE), fMult(2200), fCenBin(-1), fCentralityClasses(0), fFuncVn(0), fOutputList(0), fTrackSpectrum(0), fRandomizeEta(kTRUE), fJetSpectrumSF(0), fNoOfSFJets(0), fHistIntV2(0), fHistIntV3(0), fFlowFluctuations(-10), fMaxNumberOfIterations(100), fPsi2(-10), fPsi3(-10), fPrecisionPhi(1e-10), fDetectorType(kFixedEP), fHistSFJetSpectrum(0), fHistSFJetEtaPhi(0) {
     // default constructor for root IO
     for(Int_t i(0); i < 10; i++) {
         fFuncDiffV2[i]                  = 0x0;
@@ -39,10 +39,10 @@ AliAnalysisTaskJetFlowMC::AliAnalysisTaskJetFlowMC() : AliAnalysisTaskSE("AliAna
     }
 }
 //_____________________________________________________________________________
-AliAnalysisTaskJetFlowMC::AliAnalysisTaskJetFlowMC(const char *name, Int_t seed) : AliAnalysisTaskSE(name), fTracksOutName("JetFlowMC"), fTracksInName("PicoTrack"), fTracksIn(0), fTracksOut(0), fReuseTracks(kFALSE), fMult(2200), fCenBin(-1), fCentralityClasses(0), fFuncVn(0), fOutputList(0), fTrackSpectrum(0), fRandomizeEta(kTRUE), fJetSpectrumSF(0), fNoOfSFJets(0), fHistIntV2(0), fHistIntV3(0), fFlowFluctuations(-10), fMaxNumberOfIterations(100), fPsi2(-10), fPsi3(-10), fPrecisionPhi(1e-10), fDetectorType(kFixedEP), fHistSFJetSpectrum(0), fHistSFJetEtaPhi(0) {
+AliAnalysisTaskJetFlowMC::AliAnalysisTaskJetFlowMC(const char *name, Bool_t qa, Int_t seed) : AliAnalysisTaskSE(name), fQA(qa), fTracksOutName("JetFlowMC"), fTracksInName("PicoTrack"), fTracksIn(0), fTracksOut(0), fReuseTracks(kFALSE), fMult(2200), fCenBin(-1), fCentralityClasses(0), fFuncVn(0), fOutputList(0), fTrackSpectrum(0), fRandomizeEta(kTRUE), fJetSpectrumSF(0), fNoOfSFJets(0), fHistIntV2(0), fHistIntV3(0), fFlowFluctuations(-10), fMaxNumberOfIterations(100), fPsi2(-10), fPsi3(-10), fPrecisionPhi(1e-10), fDetectorType(kFixedEP), fHistSFJetSpectrum(0), fHistSFJetEtaPhi(0) {
     // constructor
     DefineInput(0, TChain::Class());
-    DefineOutput(1, TList::Class());
+    if(fQA) DefineOutput(1, TList::Class());
     for(Int_t i(0); i < 10; i++) {
         fFuncDiffV2[i]                  = 0x0;
         fFuncDiffV3[i]                  = 0x0;
@@ -78,8 +78,10 @@ void AliAnalysisTaskJetFlowMC::UserCreateOutputObjects()
     if(fDebug > 0) printf("__FILE__ = %s \n __LINE __ %i , __FUNC__ %s \n ", __FILE__, __LINE__, __func__);
     fTracksOut = new TClonesArray("AliPicoTrack");
     fTracksOut->SetName(fTracksOutName);
-    fOutputList = new TList();
-    fOutputList->SetOwner(kTRUE);
+    if(fQA) {
+        fOutputList = new TList();
+        fOutputList->SetOwner(kTRUE);
+    }
     if(!fCentralityClasses) { // classes must be defined at this point
         Int_t c[] = {-10, 110};
         fCentralityClasses = new TArrayI(sizeof(c)/sizeof(c[0]), c);
@@ -106,26 +108,28 @@ void AliAnalysisTaskJetFlowMC::UserCreateOutputObjects()
         fFuncVn->SetParameter(7, 0.2);      // v3
     }
     // add the generator objects that have been added to the task
-    if(fTrackSpectrum)  fOutputList->Add(fTrackSpectrum);
-    if(fJetSpectrumSF)  fOutputList->Add(fJetSpectrumSF);
-    if(fHistIntV2)      fOutputList->Add(fHistIntV2);
-    if(fHistIntV3)      fOutputList->Add(fHistIntV3);
+    if(fTrackSpectrum && fQA)  fOutputList->Add(fTrackSpectrum);
+    if(fJetSpectrumSF && fQA)  fOutputList->Add(fJetSpectrumSF);
+    if(fHistIntV2 && fQA)      fOutputList->Add(fHistIntV2);
+    if(fHistIntV3 && fQA)      fOutputList->Add(fHistIntV3);
     // create the QA histos
-    for(Int_t i(0); i < fCentralityClasses->GetSize()-1; i++) {
-        fHistOriginalSpectrum[i] = BookTH1F("fHistOriginalSpectrum", "p_{t} [GeV/c]", 200, 0, 200, i);
-        fHistOriginalEtaPhi[i] = BookTH2F("fHistOriginalEtaPhi", "#eta", "#varphi", 100, -1., 1., 100, 0, TMath::TwoPi(), i);
-        fHistToySpectrum[i] = BookTH1F("fHistToySpectrum", "p_{t} [GeV/c]", 200, 0, 200, i);
-        fHistToyEtaPhi[i] = BookTH2F("fHistToyEtaPhi", "#eta", "#varphi", 100, -1., 1., 100, 0, TMath::TwoPi(), i);
-        fHistOriginalDeltaPhi[i] = BookTH1F("fHistOriginalDeltaPhi", "#varphi - #Psi", 100, 0., TMath::Pi(), i);
-        fHistToyDeltaPhi[i] = BookTH1F("fHistToyDeltaPhi", "#varphi - #Psi", 100, 0., TMath::Pi(), i);
-        fHistToyVn[i] = BookTH2F("fHistToyVn", "p_{t} [GeV/c]", "v_{n}", 1000, 0, 200, 200, 0, .2, i);
-        // add to outputlist
-        if(fFuncDiffV2[i]) fOutputList->Add(fFuncDiffV2[i]);
-        if(fFuncDiffV3[i]) fOutputList->Add(fFuncDiffV3[i]);
-        if(fHistDiffV2[i]) fOutputList->Add(fHistDiffV2[i]);
-        if(fHistDiffV3[i]) fOutputList->Add(fHistDiffV3[i]);
+    if(fQA) {
+        for(Int_t i(0); i < fCentralityClasses->GetSize()-1; i++) {
+            fHistOriginalSpectrum[i] = BookTH1F("fHistOriginalSpectrum", "p_{t} [GeV/c]", 200, 0, 200, i);
+            fHistOriginalEtaPhi[i] = BookTH2F("fHistOriginalEtaPhi", "#eta", "#varphi", 100, -1., 1., 100, 0, TMath::TwoPi(), i);
+            fHistToySpectrum[i] = BookTH1F("fHistToySpectrum", "p_{t} [GeV/c]", 200, 0, 200, i);
+            fHistToyEtaPhi[i] = BookTH2F("fHistToyEtaPhi", "#eta", "#varphi", 100, -1., 1., 100, 0, TMath::TwoPi(), i);
+            fHistOriginalDeltaPhi[i] = BookTH1F("fHistOriginalDeltaPhi", "#varphi - #Psi", 100, 0., TMath::Pi(), i);
+            fHistToyDeltaPhi[i] = BookTH1F("fHistToyDeltaPhi", "#varphi - #Psi", 100, 0., TMath::Pi(), i);
+            fHistToyVn[i] = BookTH2F("fHistToyVn", "p_{t} [GeV/c]", "v_{n}", 1000, 0, 200, 200, 0, .2, i);
+            // add to outputlist
+            if(fFuncDiffV2[i]) fOutputList->Add(fFuncDiffV2[i]);
+            if(fFuncDiffV3[i]) fOutputList->Add(fFuncDiffV3[i]);
+            if(fHistDiffV2[i]) fOutputList->Add(fHistDiffV2[i]);
+            if(fHistDiffV3[i]) fOutputList->Add(fHistDiffV3[i]);
+        }
     }
-    if(fJetSpectrumSF) {
+    if(fJetSpectrumSF && fQA) {
         fHistSFJetSpectrum = BookTH1F("fHistSFJetSpectrum", "p_{t} SF jets [GeV/c]", 100, 0, 200);
         fHistSFJetEtaPhi = BookTH2F("fHistSFJetEtaPhi", "#eta", "#varphi", 100, -1., 1., 100, 0, TMath::TwoPi());
     }
@@ -134,6 +138,7 @@ void AliAnalysisTaskJetFlowMC::UserCreateOutputObjects()
         delete gRandom;
         gRandom = new TRandom3(0);
     }
+    if(!fQA) return;
 
     fOutputList->Sort();
     PostData(1, fOutputList);
@@ -209,7 +214,7 @@ void AliAnalysisTaskJetFlowMC::UserExec(Option_t *)
             if(!track) continue;
             Double_t phi(track->Phi()), pt((fTrackSpectrum) ? GetTrackPt() : track->Pt()), eta(fRandomizeEta ? GetTrackEta() : track->Eta());
             // fill qa histo's before applying any (possible) afterburner
-            FillHistogramsOriginalData(pt, eta, phi);
+            if(fQA) FillHistogramsOriginalData(pt, eta, phi);
             if(fHistDiffV2[fCenBin] || fFuncDiffV2[fCenBin])        V2AfterBurner(phi, eta, pt);
             else if(fHistDiffV3[fCenBin] || fFuncDiffV3[fCenBin])   V3AfterBurner(phi, eta, pt);
             else if(fHistIntV2 || fHistIntV3)                       SampleVnFromTF1(phi);        
@@ -223,7 +228,7 @@ void AliAnalysisTaskJetFlowMC::UserExec(Option_t *)
             eta = gRandom->Uniform(-.9, .9);
             phi = gRandom->Uniform(0., TMath::TwoPi());
             // fill qa histo's before applying any (possible) afterburner
-            FillHistogramsOriginalData(pt, eta, phi);
+            if(fQA) FillHistogramsOriginalData(pt, eta, phi);
             if(fHistDiffV2[fCenBin] || fFuncDiffV2[fCenBin])        V2AfterBurner(phi, eta, pt);
             else if(fHistDiffV3[fCenBin] || fFuncDiffV3[fCenBin])   V3AfterBurner(phi, eta, pt);
             else if(fHistIntV2 || fHistIntV3)                       SampleVnFromTF1(phi);        
@@ -232,7 +237,7 @@ void AliAnalysisTaskJetFlowMC::UserExec(Option_t *)
         }
     }
     if(fJetSpectrumSF && fNoOfSFJets > 0) InjectSingleFragmentationJetSpectrum(nacc);
-    PostData(1, fOutputList);
+    if(fQA) PostData(1, fOutputList);
     if(fDebug > 0) PrintInfo();
 }
 //_____________________________________________________________________________
@@ -242,7 +247,7 @@ void AliAnalysisTaskJetFlowMC::V2AfterBurner(Double_t &phi, Double_t &eta, Doubl
     if(fDebug > 1) printf("__FILE__ = %s \n __LINE __ %i , __FUNC__ %s \n ", __FILE__, __LINE__, __func__);    
     phi = gRandom->Uniform(0, TMath::TwoPi());
     Double_t phi0(phi), v2(GetV2(pt)), f(0.), fp(0.), phiprev(0.);
-    if(TMath::AreEqualAbs(v2, 0, 1e-5)) { 
+    if(TMath::AreEqualAbs(v2, 0, 1e-5) && fQA) { 
         FillHistogramsToyData(pt, eta, phi, v2);
         return;
     }
@@ -255,7 +260,7 @@ void AliAnalysisTaskJetFlowMC::V2AfterBurner(Double_t &phi, Double_t &eta, Doubl
         phi -= f/fp;
         if (TMath::AreEqualAbs(phiprev,phi,fPrecisionPhi)) break; 
     }
-    FillHistogramsToyData(pt, eta, phi, v2);
+    if(fQA) FillHistogramsToyData(pt, eta, phi, v2);
 }
 //_____________________________________________________________________________
 void AliAnalysisTaskJetFlowMC::V3AfterBurner(Double_t &phi, Double_t &eta, Double_t &pt) const
@@ -264,7 +269,7 @@ void AliAnalysisTaskJetFlowMC::V3AfterBurner(Double_t &phi, Double_t &eta, Doubl
     if(fDebug > 1) printf("__FILE__ = %s \n __LINE __ %i , __FUNC__ %s \n ", __FILE__, __LINE__, __func__);    
     phi = gRandom->Uniform(0, TMath::TwoPi());
     Double_t phi0(phi), v3(GetV3(pt)), f(0.), fp(0.), phiprev(0.);
-    if(TMath::AreEqualAbs(v3, 0, 1e-5)) {
+    if(TMath::AreEqualAbs(v3, 0, 1e-5) && fQA) {
         FillHistogramsToyData(pt, eta, phi, v3);
         return;
     }
@@ -277,7 +282,7 @@ void AliAnalysisTaskJetFlowMC::V3AfterBurner(Double_t &phi, Double_t &eta, Doubl
         phi -= f/fp;
         if (TMath::AreEqualAbs(phiprev,phi,fPrecisionPhi)) break;
     }
-    FillHistogramsToyData(pt, eta, phi, v3);
+    if(fQA) FillHistogramsToyData(pt, eta, phi, v3);
 }
 //_____________________________________________________________________________
 void AliAnalysisTaskJetFlowMC::InjectSingleFragmentationJetSpectrum(Int_t nacc)
@@ -288,8 +293,10 @@ void AliAnalysisTaskJetFlowMC::InjectSingleFragmentationJetSpectrum(Int_t nacc)
     for(Int_t i(nacc); i < (nacc + fNoOfSFJets); i++) {
         Double_t eta(gRandom->Uniform(-.5, .5)), phi(gRandom->Uniform(0, TMath::TwoPi())), pt(fJetSpectrumSF->GetRandom());
         /*AliPicoTrack *picotrack =*/ new ((*fTracksOut)[i]) AliPicoTrack(pt, eta, phi, +1, 0, 0, eta, phi, pt, 0);
-        fHistSFJetSpectrum->Fill(pt);
-        fHistSFJetEtaPhi->Fill(eta, phi);
+        if(fQA) {
+            fHistSFJetSpectrum->Fill(pt);
+            fHistSFJetEtaPhi->Fill(eta, phi);
+        }
         ++i;
     }
     nacc = 0;
index 8954de69938ec72554f48cb79d657678e60f5361..7ed3ec29bc212bca6b73d5ef43065dbd4e243733 100644 (file)
@@ -20,7 +20,7 @@ class AliAnalysisTaskJetFlowMC : public AliAnalysisTaskSE
         enum detectorType       {kVZEROA, kVZEROC, kVZEROComb, kFixedEP};  // detector that was used
         // constructors, destructor
         AliAnalysisTaskJetFlowMC();
-        AliAnalysisTaskJetFlowMC(const char *name, Int_t seed = 0);
+        AliAnalysisTaskJetFlowMC(const char *name, Bool_t qa = kFALSE, Int_t seed = 0);
         virtual ~AliAnalysisTaskJetFlowMC();
         void    UserCreateOutputObjects();
         TH1F*   BookTH1F(const char* name, const char* x, Int_t bins, Double_t min, Double_t max, Int_t c = -1, Bool_t append = kTRUE);
@@ -89,6 +89,7 @@ class AliAnalysisTaskJetFlowMC : public AliAnalysisTaskSE
         void            Terminate(Option_t* option);
         void            PrintInfo() const;
     protected:
+        Bool_t          fQA;                    //! save QA plots
         TString         fTracksOutName;         // name of output track array
         TString         fTracksInName;          // name of input track array
         TClonesArray   *fTracksIn;              //! track array in
@@ -129,6 +130,6 @@ class AliAnalysisTaskJetFlowMC : public AliAnalysisTaskSE
         AliAnalysisTaskJetFlowMC(const AliAnalysisTaskJetFlowMC&);            // not implemented
         AliAnalysisTaskJetFlowMC &operator=(const AliAnalysisTaskJetFlowMC&); // not implemented
 
-        ClassDef(AliAnalysisTaskJetFlowMC, 2); // Task to generate toy mc PicoTracks based on real events
+        ClassDef(AliAnalysisTaskJetFlowMC, 3); // Task to generate toy mc PicoTracks based on real events
 };
 #endif
index bace1e4c5aaf30945e6133867139c2bb321b663c..57610e7b2d2cd3708e5b43748df5642f906719df 100644 (file)
@@ -16,7 +16,8 @@ class AliAnalysisTaskJetFlowMC;
 AliAnalysisTaskJetFlowMC* AddTaskJetFlowMC(
   const char *outputTracks      = "JetFlowToyMC",
   const char *inputTracks       = "PicoTracks",
-  const char *name              ="AliAnalysisTaskJetFlowMC"
+  const char *name              ="AliAnalysisTaskJetFlowMC",
+  Bool_t doQA                   = kFALSE
   )
 {  
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
@@ -26,17 +27,20 @@ AliAnalysisTaskJetFlowMC* AddTaskJetFlowMC(
   fileName += ":";
   fileName += name;
         // create the task
-  AliAnalysisTaskJetFlowMC *eTask = new AliAnalysisTaskJetFlowMC(name);
+  AliAnalysisTaskJetFlowMC *eTask = new AliAnalysisTaskJetFlowMC(name, doQA);
   eTask->SetTracksOutName(outputTracks);
   eTask->SetTracksInName(inputTracks);
         // connect input and output
   mgr->AddTask(eTask);
   mgr->ConnectInput  (eTask, 0, mgr->GetCommonInputContainer());
-  mgr->ConnectOutput (eTask, 1, mgr->CreateContainer(Form("%s_container", fileName.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName.Data()));
+  if(doQA) {
+      // this task only produces output when the qa flag is set to true
+      mgr->ConnectOutput (eTask, 1, mgr->CreateContainer(Form("%s_container", fileName.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName.Data()));
+  }
   return eTask;
 }
 
-namespace TaskJetFlowMC{
+namespace TaskJetFlowMC {
     TF1* GetSpectrum() {
         TF1* spectrum = new TF1("fspectrum", "[0]*(TMath::Power([1], 2)*x*TMath::Exp(-[1]*x))+(x>1)*[2]*(1.17676e-01*TMath::Sqrt(0.1396*0.1396+x*x)*TMath::Power(1.+1./[3]/8.21795e-01*TMath::Sqrt(0.1396*0.1396+x*x),-1.*[3]))*(1/(1 + TMath::Exp(-(x - [4])/[5])))", .2, 200.);
         fspectrum->SetParameters(2434401791.20528 ,2.98507 ,10069622.25117 ,5.50000 ,2.80000 ,0.20000 );
index 3fff3fde5d9317059bb957ada7e65e5c9bdcba35..dc6998212b16a6ec1ed9adfab42911226f57e34c 100644 (file)
@@ -1848,8 +1848,8 @@ void AliAnalysisTaskJetV2::FillJetHistograms(Double_t psi2)
 void AliAnalysisTaskJetV2::FillQAHistograms(AliVTrack* vtrack) const
 {
     // fill qa histograms for pico tracks
-     if(fDebug > 1) printf("__FILE__ = %s \n __LINE __ %i , __FUNC__ %s \n ", __FILE__, __LINE__, __func__);
-   if(!vtrack) return;
+    if(fDebug > 1) printf("__FILE__ = %s \n __LINE __ %i , __FUNC__ %s \n ", __FILE__, __LINE__, __func__);
+    if(!vtrack) return;
     AliPicoTrack* track = static_cast<AliPicoTrack*>(vtrack);
     fHistRunnumbersPhi->Fill(fMappedRunNumber, track->Phi());
     fHistRunnumbersEta->Fill(fMappedRunNumber, track->Eta());
@@ -1876,10 +1876,10 @@ void AliAnalysisTaskJetV2::FillQAHistograms(AliVEvent* vevent)
     fHistVertexz->Fill(vevent->GetPrimaryVertex()->GetZ());
     fHistCentrality->Fill(fCent);
     Int_t runNumber(InputEvent()->GetRunNumber());
-    for(fMappedRunNumber = 0; fMappedRunNumber < fExpectedRuns->GetSize()+1; fMappedRunNumber++) {
+    for(fMappedRunNumber = 0; fMappedRunNumber < fExpectedRuns->GetSize(); fMappedRunNumber++) {
         if(fExpectedRuns->At(fMappedRunNumber) == runNumber) return;
     }
-    printf("\n > TASK %s CANNOT IDENTIFY RUN - CONFIGURATION COULD BE INCORRECT < \n", GetName());
+    if(fDebug > 0) printf("\n > TASK %s CANNOT IDENTIFY RUN - CONFIGURATION COULD BE INCORRECT < \n", GetName());
 }
 //_____________________________________________________________________________
 void AliAnalysisTaskJetV2::FillAnalysisSummaryHistogram() const