CMSSW no Sprace
Introdução
O objetivo desta página é ensinar como se faz o setup completo de uma área de desenvolvimento CMSSW no Sprace. Para os efeitos desta página, assume-se o uso da shell bash.
Setup do CMSSW no Sprace
PREREQUISITO: conta na máquina
access7.sprace.org.br
.
O setup completo de uma área de desenvolvimento CMSSW no Sprace é dividido em três etapas:
- Localização: a framework de software do CMS - CMSSW - fica localizada em diretórios centrais no cluster. Para ter acesso a essa framework, você deve primeiro localizar esses diretórios através de variáveis de ambiente.
- Inicialização: Tendo feito isso, o próximo passo é inicializar uma área de desenvolvimento CMSSW (CMSSW developer area) em um diretório no qual você tenha acesso de escrita (normalmente em um subdiretório do seu
$HOME
).
- Setup: Finalmente, toda vez que você for utilizar o CMSSW (compilar código, rodar análises, ver histogramas no ROOT, etc.), você deve entrar no diretório
CMSSW_x_y_z/src
e utilizar o comando cmsenv
para fazer o setup.
Note bem: todas essas etapas podem ser realizadas em qualquer máquina que tenha acesso ao
CMS_PATH
; isso inclui a
access7
, mas também a
lxplus
, a
cms04
, entre outras.
Localizando o diretório do CMSSW
Estes comandos indicam onde estão as releases do CMSSW, e permitem o uso dos comandos
cmsrel
e
cmsenv
.
export CMS_PATH=/cvmfs/cms.cern.ch
source $CMS_PATH/cmsset_default.sh
export SCRAM_ARCH=slc7_amd64_gcc10
Este conjunto de dois comandos deve ser utilizado sempre no início da sua sessão. Logo, é interessante colocar esses comandos em um script de inicialização como o
.bashrc
. Para fazer isso:
echo export CMS_PATH=/cvmfs/cms.cern.ch >> ~/.bashrc
echo source $CMS_PATH/cmsset_default.sh >> ~/.bashrc
echo export SCRAM_ARCH=slc7_amd64_gcc10 >> ~/.bashrc
Verificando as versões disponíveis do CMSSW, executando a inicialização
-
scram list | grep CMSSW
para verificar as versões disponíveis.
-
cmsrel CMSSW_x_y_z
para fazer a inicialização. x_y_z
é a versão do CMSSW que você quer instalar. Isto cria um diretório chamado CMSSW_x_y_z
.
- Alternativamente,
scram project -n CMSSW CMSSW_x_y_z
permite que você inicialize uma área de trabalho do CMSSW com outro nome. Por exemplo, vocẽ pode querer ter duas versões diferentes do CMSSW_2_2_3
, uma chamada estavel
onde você está rodando suas análises e uma chamada instavel
onde você está testando novos algoritmos.
Você precisa inicializar uma área de desenvolvimento apenas UMA vez. Posteriorment, basta você fazer o setup.
Fazendo o setup de sua área de trabalho
cd CMSSW_x_y_z/src
cmsenv
Com a área de desenvolvimento preparada dessa maneira, você já pode seguir as instruções do CMSSW Workbook:
https://twiki.cern.ch/twiki/bin/view/CMS/WorkBook
Preparando o ROOT para trabalhar com o FWLite.
Existe um modo de trabalhar com o software do CMS que é mais "leve", no sentido de que você pode trabalhar com os arquivos de dados do CMS (EDM files) de dentro do próprio ROOT. Esse é o chamado FWLite. Você precisa seguir estes passos
apenas se deseja trabalhar com o FWLite - para utilizar o ROOT normalmente este processo não é necessário. Se você quiser fazer isso, você vai precisar preparar o ROOT antes. Para isso, crie um arquivo chamado
$HOME/rootlogon.C
, com o seguinte conteúdo:
{
gSystem->Load("libFWCoreFWLite.so");
AutoLibraryLoader::enable();
}
e um outro chamado
$HOME/.rootrc
, com no mínimo o seguinte conteúdo:
# Tell ROOT where to find rootlogon.C:
Rint.Logon: $(HOME)/rootlogon.C
Links
--
trtomei - 2022-03-16