LCOV - code coverage report
Current view: top level - EVGEN - AliGenMUONCocktailpp.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 28 3.6 %
Date: 2016-06-14 17:26:59 Functions: 1 34 2.9 %

          Line data    Source code
       1             : #ifndef ALIGENMUONCOCKTAILPP_H
       2             : #define ALIGENMUONCOCKTAILPP_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : //
       7             : // Class to create the coktail for physics with muons for pp collisions
       8             : // using the The followoing sources: 
       9             : // jpsi, psiP, upsilon, upsilonP, upsilonPP, open charm and open beauty
      10             : //
      11             : 
      12             : #include "AliGenCocktail.h"
      13             : #include "AliDecayer.h"
      14             : 
      15             : class AliGenCocktailEntry;
      16             : class AliGenParam;
      17             : 
      18             : class AliGenMUONCocktailpp : public AliGenCocktail
      19             : {
      20             :  public:
      21             : 
      22             :     AliGenMUONCocktailpp();
      23             :     enum CMSEnergyCode { kCMS07TeV, kCMS10TeV, kCMS14TeV, kCMS03TeVpPb, kCMS03TeVPbp, kCMS04TeVpPb, kCMS04TeVPbp, kCMS05TeVpPb, kCMS05TeVPbp, kCMS09TeVpPb, kCMS09TeVPbp, kCMS03TeVPbPb, kNCMSEs };    
      24             : 
      25             :     virtual ~AliGenMUONCocktailpp();    
      26             :     virtual void Init();
      27             :     virtual void CreateCocktail();
      28             :     virtual void Generate();    
      29           0 :     Int_t   GetNSucceded()         const {return fNSucceded;}    
      30           0 :     Int_t   GetNGenerated()        const {return fNGenerated;}
      31           0 :     Int_t   GetCentralityBin()     const {return fCentralityBin;}
      32           0 :     Int_t   GetMuonMultiplicity()  const {return fMuonMultiplicity;}
      33           0 :     Float_t GetMuonPtCut()         const {return fMuonPtCut;}
      34           0 :     Float_t GetMuonPCut()          const {return fMuonPCut;}    
      35           0 :     Float_t GetMuonThetaMin()      const {return fMuonThetaMinCut;}
      36           0 :     Float_t GetMuonThetaMax()      const {return fMuonThetaMaxCut;}         
      37           0 :     Float_t GetMuonOriginCut()     const {return fMuonOriginCut;}           
      38           0 :     Float_t GetDecayModeResonance()const {return fDecayModeResonance;}
      39           0 :     Float_t GetDecayModePythia()   const {return fDecayModePythia;}
      40             :     
      41           0 :     void    SetCentralityBin(Int_t bin) { fCentralityBin = bin;}
      42           0 :     void    SetMuonMultiplicity(Int_t MuonMultiplicity) { fMuonMultiplicity = MuonMultiplicity;}
      43           0 :     void    SetMuonPtCut(Float_t PtCut) { fMuonPtCut = PtCut;}
      44           0 :     void    SetMuonPCut(Float_t PCut) { fMuonPCut = PCut;}    
      45           0 :     void    SetMuonOriginCut(Float_t originCut) { fMuonOriginCut = originCut;}
      46             :     void    SetMuonThetaRange(Float_t ThetaMin, Float_t ThetaMax){
      47           0 :         fMuonThetaMinCut=ThetaMin;
      48           0 :         fMuonThetaMaxCut=ThetaMax; }    
      49           0 :     void    SetDecayer(AliDecayer* const decayer){fDecayer = decayer;}
      50           0 :     void    SetDecayModeResonance(Decay_t decay){ fDecayModeResonance = decay;}
      51           0 :     void    SetDecayModePythia(Decay_t decay){ fDecayModePythia = decay;}
      52             :     void    SetResPolarization(Double_t JpsiPol, Double_t PsiPPol, Double_t UpsPol, 
      53             :                                 Double_t UpsPPol, Double_t UpsPPPol, char *PolFrame);
      54             : 
      55             :     void    SetCMSEnergy(CMSEnergyCode cmsEnergy);
      56           0 :     void    SetSigmaSilent() { fSigmaSilent = kTRUE; }
      57             : 
      58           0 :     void    ScaleJPsi(Double_t sc) { fScaleJPsi = sc;}
      59           0 :     void    ScaleCharmonia(Double_t sc) { fScaleCharmonia = sc;}
      60           0 :     void    ScaleBottomonia(Double_t sc) { fScaleBottomonia = sc;}
      61           0 :     void    ScaleCCbar(Double_t sc) { fScaleCCbar = sc;}
      62           0 :     void    ScaleBBbar(Double_t sc) { fScaleBBbar = sc;}
      63             :    
      64             :  protected:
      65             : 
      66             :     //
      67             :  private:
      68             :     AliGenMUONCocktailpp(const AliGenMUONCocktailpp &cocktail); 
      69             :     AliGenMUONCocktailpp & operator=(const AliGenMUONCocktailpp &cocktail); 
      70             : 
      71             :     void AddReso2Generator(Char_t *nameReso, AliGenParam* const genReso, Double_t sigmaReso, Double_t polReso);
      72             :     
      73             :     AliDecayer* fDecayer; // External decayer
      74             :     Decay_t fDecayModeResonance; //decay mode in which resonances are forced to decay, default: kAll
      75             :     Decay_t fDecayModePythia; //decay mode in which particles in Pythia are forced to decay, default: kAll
      76             :     Int_t   fMuonMultiplicity; // Muon multiplicity for the primordial trigger
      77             :     Float_t fMuonPtCut;// Transverse momentum cut for muons
      78             :     Float_t fMuonPCut;// Momentum cut for muons    
      79             :     Float_t fMuonThetaMinCut;// Minimum theta cut for muons
      80             :     Float_t fMuonThetaMaxCut; // Maximum theta cut for muons
      81             :     Float_t fMuonOriginCut; //use only muons whose "part->Vz()" value is larger than fMuonOrigin
      82             :     Int_t   fNSucceded;// Number of Succes in the (di)-muon generation in the acceptance
      83             :     Int_t   fNGenerated;// Number of generated cocktails
      84             :     Int_t   fCentralityBin;                 // Collision centrality bin number
      85             :     Double_t fScaleJPsi;                    // xsec scale factors for onia and HF
      86             :     Double_t fScaleCharmonia;
      87             :     Double_t fScaleBottomonia;
      88             :     Double_t fScaleCCbar;
      89             :     Double_t fScaleBBbar;
      90             :     Double_t fJpsiPol, fChic1Pol, fChic2Pol, fPsiPPol, fUpsPol, fUpsPPol, fUpsPPPol;//Resonances polarization parameters
      91             :     Int_t    fPolFrame;//Resonances polarization frame (Collins-Soper / Helicity)
      92             : //    Int_t fCMSEnergy; // CMS beam energy
      93             :     
      94             :     Double_t fCMSEnergyTeV;                 // energy
      95             :     Double_t fCMSEnergyTeVArray[kNCMSEs];   //!
      96             :     Double_t fSigmaReaction;                // xsec pp
      97             :     Double_t fSigmaReactionArray[kNCMSEs];  //!
      98             :     Double_t fSigmaJPsi;                    // xsec JPsi
      99             :     Double_t fSigmaJPsiArray[kNCMSEs];      //!
     100             :     Double_t fSigmaChic1;                   // xsec Chic1 
     101             :     Double_t fSigmaChic1Array[kNCMSEs];     //!
     102             :     Double_t fSigmaChic2;                   // xsec Chic2 
     103             :     Double_t fSigmaChic2Array[kNCMSEs];     //!
     104             :     Double_t fSigmaPsiP;                    // xsec Psi-prime
     105             :     Double_t fSigmaPsiPArray[kNCMSEs];      //!
     106             :     Double_t fSigmaUpsilon;                 // xsec Upsilon
     107             :     Double_t fSigmaUpsilonArray[kNCMSEs];   //!
     108             :     Double_t fSigmaUpsilonP;                // xsec Upsilon-prime 
     109             :     Double_t fSigmaUpsilonPArray[kNCMSEs];  //!
     110             :     Double_t fSigmaUpsilonPP;               // xsec Upsilon-double-prime
     111             :     Double_t fSigmaUpsilonPPArray[kNCMSEs]; //!
     112             :     Double_t fSigmaCCbar;                   // xsec correlated charm
     113             :     Double_t fSigmaCCbarArray[kNCMSEs];     //!
     114             :     Double_t fSigmaBBbar;                   // xsec correlated beauty
     115             :     Double_t fSigmaBBbarArray[kNCMSEs];     //!
     116             :     
     117             :     Bool_t   fSigmaSilent;    // hide values of cross-sections in output
     118             : 
     119           6 :     ClassDef(AliGenMUONCocktailpp,5)  //  cocktail for physics in the Alice
     120             : };
     121             : 
     122             : #endif
     123             : 
     124             : 
     125             : 

Generated by: LCOV version 1.11